我已经使用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的输入令牌.