我已经使用Azure Open AI、Langchain和Streamlight构建了一个非常简单的应用程序.以下是我的代码:

from dotenv import load_dotenv,find_dotenv
load_dotenv(find_dotenv())

import streamlit as st
from langchain.llms import AzureOpenAI

from langchain.prompts import PromptTemplate


LLM = AzureOpenAI(max_tokens=1500, deployment_name="gpt-35-turbo-16k", model="gpt-35-turbo-16k")


prompt_template = """
If you don't know the answer, just say that you don't know, don't try to make up an answer.

Question: {question}
"""
PROMPT = PromptTemplate(template=prompt_template, input_variables=["question"])
st.title('Experiment AzureOpenAI :)')
user_question = st.text_input('Your query here please')

if user_question:
    prompt = prompt_template.format(question = user_question)
    response = LLM(prompt)
    st.write(response)
    st.write('done')

当我运行上面的代码时,我得到了以下错误:

InvalidRequestError:完成操作不适用于 指定型号,GPT-35-TURBO-16K.请 Select 不同型号和 再试试.您可以详细了解哪些型号可以与一起使用 这里的操作:https://go.microsoft.com/fwlink/?linkid=2197993.

然而,如果我将模型从gpt-35-turbo-16k更改为gpt-35-turbo,我的代码运行得非常好.因此,以下代码可以工作:

LLM = AzureOpenAI(max_tokens=1500, deployment_name="gpt-35-turbo", model="gpt-35-turbo")

我想知道为什么会发生这个错误?

从这link中,我能看到的唯一区别是gpt-35-turbo-16k支持高达16k的输入令牌,而gpt-35-turbo支持高达4k的输入令牌.

推荐答案

根据文档,合理的原因是:版本(0613)只支持聊天完成API.

https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models#gpt-35-models

GPT-3.5 Turbo与聊天完成API一起使用.GPT-3.5 Turbo(0301)也可以与Completions API一起使用.GPT3.5 Turbo(0613)仅支持聊天完成API.

Python相关问答推荐

LAB中的增强数组

使用Keras的线性回归参数估计

从webhook中的短代码(而不是电话号码)接收Twilio消息

使用FASTCGI在IIS上运行Django频道

如何标记Spacy中不包含特定符号的单词?

在Pandas DataFrame操作中用链接替换'方法的更有效方法

处理带有间隙(空)的duckDB上的重复副本并有效填充它们

Pandas:将多级列名改为一级

什么是最好的方法来切割一个相框到一个面具的第一个实例?

如何启动下载并在不击中磁盘的情况下呈现响应?

幂集,其中每个元素可以是正或负""""

以逻辑方式获取自己的pyproject.toml依赖项

ConversationalRetrivalChain引发键错误

Odoo16:模板中使用的docs变量在哪里定义?

在Google Drive中获取特定文件夹内的FolderID和文件夹名称

如果有2个或3个,则从pandas列中删除空格

高效生成累积式三角矩阵

查找查找表中存在的列值组合

如何在Polars中创建条件增量列?

使用美汤对维基百科表格进行网络刮擦未返回任何内容