Почему я получаю сообщение об ошибке недопустимой модели с моделью «gpt-35-turbo-16k» в Azure Open AI, но не с «gpt-35-turbo»?

Я создал очень простое приложение, используя 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-16k. Пожалуйста, выберите другую модель и Попробуйте еще раз. Вы можете узнать больше о том, какие модели можно использовать с каждым операцию здесь: 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")

Мне интересно, почему возникает эта ошибка?

По этой ссылке единственное отличие, которое я увидел, заключается в том, что gpt-35-turbo-16k поддерживает до 16 тысяч входных токенов, тогда как gpt-35-turbo поддерживает до 4 тысяч входных токенов.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
192
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Судя по документации, вероятная причина такова: версия (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 завершения чата.

Другие вопросы по теме