这是文本摘要功能。我拥有有效的Azure OpenAI API和通过有效订阅的端点,并且我在.env文件中正确提到了它们。我觉得问题出在这个URL上 – ${endpoint}/v1/chat/completions
。请提供任何解决方案。
const prompt = `提供文本摘要:${data}`; const apiKey = process.env.AZURE_OPENAI_API_KEY; const endpoint = process.env.AZURE_OPENAI_ENDPOINT; const url = `${endpoint}/v1/chat/completions`; const response = await axios.post( url, { model: "gpt-35-turbo", prompt: prompt, temperature: 0.3, max_tokens: 250, top_p: 1, frequency_penalty: 0, presence_penalty: 0 }, { headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${apiKey}`, }, } ); const summary = response.data.choices[0].text.trim(); return summary;
我尝试了,
const url = ${endpoint}/v1/completions
;
const url = ${endpoint}/openai/deployments/MY_DEPLOYMENT_NAME/completions?api-version=2023-05-15
;
const url = ${endpoint}/openai/deployments/MY_DEPLOYMENT_NAME/completions?api-version=2023-05-15-preview
;
回答:
请确保您拥有有效的订阅、有效的Azure OpenAI API密钥和端点。
const { OpenAIClient, AzureKeyCredential } = require("@azure/openai");const generateSummary = async (data) => { const messages = [ { role: "user", content: `提供文本摘要:${data}` }, ]; try { const client = new OpenAIClient(endpoint, new AzureKeyCredential(azureApiKey)); const deploymentId = "<MY_DEPLOYMENT_NAME>"; const result = await client.getChatCompletions(deploymentId, messages); for (const choice of result.choices) { const summary = choice.message.content; return summary; } } catch (err) { console.error("样本遇到错误:", err); }};