Как использовать новую модель gpt-3.5-16k с langchain?
Я написал приложение на langchain, которое передает несколько цепочек в последовательную цепочку для запуска. Проблема, с которой я столкнулся, заключается в том, что запросы настолько велики, что превышают размер токена 4K. Я видел, что OpenAI выпустила новую модель размером с окно токена 16 КБ для ChatGPT, но я не могу получить к ней доступ через API. Когда я пытаюсь, я получаю следующую ошибку:
openai.error.InvalidRequestError: это модель чата, которая не поддерживается в конечной точке v1/completions. Вы имели в виду использовать v1/chat/completions?
Вот как я пытаюсь создать экземпляр модели:
self.llm = OpenAI(model='gpt-3.5-turbo-16k',temperature = self.config.llm.temperature,
openai_api_key = self.config.llm.openai_api_key,
max_tokens=self.config.llm.max_tokens
)
Кто-нибудь знает, как я могу это исправить?
2 ответа
Обновление от 20 августа 2023 г.
OpenAIChat устарел.Вместо этого используйте модель ChatOpenAI() . Также одно примечание: название модели должно проходить черезmodel_name
параметр.
from langchain.chat_models import ChatOpenAI
chat = ChatOpenAI(
model_name='gpt-3.5-turbo-16k',
temperature = self.config.llm.temperature,
openai_api_key = self.config.llm.openai_api_key,
max_tokens=self.config.llm.max_tokens
)
Старый ответ:
The gpt-3.5-turbo-16k
предполагается использовать с конечной точкой API завершения чата. См. ссылку ниже:
Итак, вместо использованияOpenAI()
llm, который использует API завершения текста под капотом, попробуйте использоватьOpenAIChat()
. См. приведенный ниже пример со ссылкой на ваш пример кода:
from langchain.llms import OpenAIChat
self.llm = OpenAIChat(
model_name='gpt-3.5-turbo-16k',
temperature = self.config.llm.temperature,
openai_api_key = self.config.llm.openai_api_key,
max_tokens=self.config.llm.max_tokens
)
from langchain.llms import OpenAI
llm = OpenAI(temperature=0.1, model_name="gpt-3.5-turbo-16k")
У меня работает нормально.