Azure OpenAI Chat Playground导出代码缺失用户消息及附件发送SDK实现咨询
Azure OpenAI Chat Playground导出代码缺失用户消息及附件发送SDK实现咨询
嘿,我来帮你捋清楚这个问题哈!
为什么导出的代码里看不到用户消息?
这其实不是bug,而是Chat Playground当前导出功能的设计局限。它导出的代码主要聚焦在生成最终响应的核心API调用逻辑,并不会完整还原你在Playground里的所有用户输入细节——尤其是涉及上传图片这类附件的请求,因为这类多模态请求的处理流程比纯文本对话更复杂,Playground的导出工具目前还没把这部分用户侧的构建逻辑包含进去。
怎么实现带附件的SDK调用?
如果你想实现上传图片并请求转录、翻译的SDK代码,可以参考下面的多模态对话示例,核心是把图片转换成Base64编码后,作为内容项加入到用户消息中:
// 注意:Azure OpenAI .NET客户端库处于预览阶段 // 先通过NuGet安装:dotnet add package Azure.AI.OpenAI --prerelease using Azure; using Azure.AI.OpenAI; using System.IO; // 初始化客户端 var client = new OpenAIClient( new Uri("https://[你的端点].openai.azure.com/"), new AzureKeyCredential(Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY"))); // 读取图片并转换为Base64 string imagePath = "你的图片路径.jpg"; byte[] imageBytes = File.ReadAllBytes(imagePath); string base64Image = Convert.ToBase64String(imageBytes); // 构建多模态对话消息 var chatOptions = new ChatCompletionsOptions() { DeploymentName = "你的多模态模型部署名称", // 比如gpt-4o Messages = { new ChatMessage(ChatRole.User, new List<ChatMessageContentItem>() { new TextContentItem("请先转录这张图片里的内容,再翻译成英文"), new ImageContentItem(new ImageContentItemDetails(ImageUrlFormat.Base64, base64Image)) }) } }; // 发送请求并获取响应 Response<ChatCompletions> response = await client.GetChatCompletionsAsync(chatOptions); string result = response.Value.Choices[0].Message.Content; Console.WriteLine(result);
这样就能模拟你在Playground里上传图片并请求处理的完整流程啦。
备注:内容来源于stack exchange,提问作者Jason D.
相关产品推荐
相关产品推荐

