У меня есть этот код LangChain для ответа на вопросы, получая аналогичные документы из векторного хранилища и используя llm для получения ответа на запрос:
llm_4 = AzureOpenAI(
# temperature=0,
api_version= os.environ['OPENAI_API_VERSION_4'],
openai_api_key= os.environ['AZURE_OPENAI_API_KEY_4'],
deployment_name = "gpt4-deploy",
# model_name = "gpt4-o",
azure_endpoint=os.environ['AZURE_OPENAI_ENDPOINT_4']
)
llm_3 = AzureOpenAI(
# temperature=0,
api_version= os.environ['OPENAI_API_VERSION_3'],
openai_api_key= os.environ['AZURE_OPENAI_API_KEY_3'],
deployment_name = "test-deployment",
# deployment_name = "gpt-16k-deployment",
# model_name = "gpt-3.5-turbo-16k",
azure_endpoint=os.environ['AZURE_OPENAI_ENDPOINT_3']
)
response=get_answer(relavant_docs, user_input, llm_4)
...
#Create embeddings instance
def create_embeddings():
#embeddings = OpenAIEmbeddings()
embeddings = SentenceTransformerEmbeddings(model_name = "all-MiniLM-L6-v2")
# embeddings = SentenceTransformerEmbeddings(model_name = "text-davinci-003")
return embeddings
def get_answer(docs, user_input, llm=None):
if llm:
chain = load_qa_chain(llm, chain_type = "stuff")
else:
chain = load_qa_chain(OpenAI(), chain_type = "stuff")
with get_openai_callback() as cb:
response = chain.run(input_documents=docs, question=user_input)
return response
Он работает с gpt3, но с gpt4 получается:
BadRequestError: Код ошибки: 400 — {'error': {'code': 'OperationNotSupported', 'message': 'Операция завершения не работает с указанной моделью gpt-4. Пожалуйста, выберите другую модель и повторите попытку. Подробнее о том, какие модели можно использовать с каждой операцией, можно узнать здесь: https://go.microsoft.com/fwlink/?linkid=2197993.'}}
Я попробовал то, что было предложено этими похожими проблемами:
Как использовать новую модель gpt-3.5-16k с langchain?
Я пытаюсь создать программу ответов на вопросы по документации с помощью AzureOpenAI и Langchain
Но я так и не понял, как это решить!
Большое спасибо, с AzureChatOpenAI работает.
Просто дать ответ уже есть. Таким образом, это помогает сообществу найти лучшее решение.
Внутри цепочка вызывает API завершения для модели, которая не поддерживается, и выдает ошибку.
В таком случае вы можете использовать поддерживаемую модель или клиент чата Azure OpenAI AzureChatOpenAI
.
Чтобы узнать, какая модель поддерживается для операции заканчивания,
во вкладке модели ставите галочку Completion
и сохраняете.
Как видите, модель instruct
поддерживается.
GPT-4 — это не модель завершения текста, а модель завершения чата. Используйте клиент
AzureChatOpenAI
вместоAzureOpenAI
при использовании GPT-4.