为什么我在Azure Open AI中的“gpt-35-turbo-16 k”模型出现无效模型错误,而“gpt-35-turbo”模型却没有?

nsc4cvqm  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(290)

我使用Azure Open AI、Langchain和Streamlit构建了一个非常简单的应用程序。下面是我的代码:

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-16 k。请选择不同的型号,然后重试。您可以在此处了解有关每个操作可以使用哪些模型的详细信息: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支持多达16 k的输入令牌,而gpt-35-turbo支持多达4k的输入令牌。

q5iwbnjs

q5iwbnjs1#

根据文件,合理的原因是:版本(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)也可与完井API一起使用。GPT3.5 Turbo(0613)仅支持聊天完成API。

相关问题