Skip to Content
开发指南流式输出代码示例

流式输出代码示例

以下展示使用各语言调用 AMAX Token Router 流式输出接口的完整示例。

Python

from openai import OpenAI client = OpenAI( base_url="https://ai.amaxsmp.com/v1", api_key="sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ) stream = client.chat.completions.create( model="gpt-4o", messages=[ {"role": "system", "content": "你是一个有帮助的AI助手。"}, {"role": "user", "content": "用中文写一篇200字的关于人工智能发展的短文。"} ], stream=True ) for chunk in stream: if chunk.choices[0].delta.content: print(chunk.choices[0].delta.content, end="")

JavaScript / TypeScript

import OpenAI from "openai"; const client = new OpenAI({ baseURL: "https://ai.amaxsmp.com/v1", apiKey: "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", }); async function main() { const stream = await client.chat.completions.create({ model: "gpt-4o", messages: [ { role: "system", content: "你是一个有帮助的AI助手。" }, { role: "user", content: "用中文写一篇200字的关于人工智能发展的短文。" }, ], stream: true, }); for await (const chunk of stream) { if (chunk.choices[0]?.delta?.content) { process.stdout.write(chunk.choices[0].delta.content); } } } main();

cURL

curl https://ai.amaxsmp.com/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ --no-buffer \ -d '{ "model": "gpt-4o", "messages": [ {"role": "system", "content": "你是一个有帮助的AI助手。"}, {"role": "user", "content": "用中文写一篇200字的关于人工智能发展的短文。"} ], "stream": true }'

--no-buffer 参数确保 cURL 实时输出每个 chunk,而非等待连接关闭。

Java

import com.openai.client.OpenAIClient; import com.openai.client.okhttp.OpenAIOkHttpClient; import com.openai.models.chat.completions.*; public class StreamingExample { public static void main(String[] args) { OpenAIClient client = OpenAIOkHttpClient.builder() .baseUrl("https://ai.amaxsmp.com/v1") .apiKey("sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx") .build(); client.chat().completions().createStreaming( ChatCompletionCreateParams.builder() .model("gpt-4o") .addMessage(ChatCompletionMessageParam.ofSystem( ChatCompletionSystemMessageParam.builder() .content("你是一个有帮助的AI助手。") .build() )) .addMessage(ChatCompletionMessageParam.ofUser( ChatCompletionUserMessageParam.builder() .content("用中文写一篇200字的关于人工智能发展的短文。") .build() )) .build() ).subscribe(chunk -> { chunk.choices().stream() .filter(c -> c.delta().content().isPresent()) .forEach(c -> System.out.print(c.delta().content().get())); }); } }

Go

package main import ( "context" "fmt" "github.com/openai/openai-go" "github.com/openai/openai-go/option" ) func main() { client := openai.NewClient( option.WithBaseURL("https://ai.amaxsmp.com/v1"), option.WithAPIKey("sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"), ) ctx := context.Background() stream := client.Chat.Completions.NewStreaming(ctx, openai.ChatCompletionNewParams{ Model: openai.F(openai.ChatModelGPT4o), Messages: openai.F([]openai.ChatCompletionMessageParamUnion{ openai.SystemMessage("你是一个有帮助的AI助手。"), openai.UserMessage("用中文写一篇200字的关于人工智能发展的短文。"), }), }) for stream.Next() { chunk := stream.Current() if len(chunk.Choices) > 0 { fmt.Print(chunk.Choices[0].Delta.Content) } } if err := stream.Err(); err != nil { panic(err) } }

更多用法