Я следую этому руководству (https://python.langchain.com/docs/how_t ... n_examples), чтобы отправить примеры с моим запросом в модель Gemini с использованием langchain и ChatVertexAI. Когда я запускаю Extractor.invoke({"text": text, "examples": example_messages}) модель продолжает повторять попытки с предупреждением: InvalidArgument: 400 Убедитесь, что поворот вызова функции происходит сразу после поворота пользователя или после него. поворот ответа функции. Если я запущу ignore без примеров, модель будет работать так, как ожидалось. Аналогично, если я использую модель ChatOpenAI, модель работает, как и ожидалось, с примерами.
Насколько я могу судить (например, см. https://stackoverflow.com/ a/78403270/8633026), для моделей Gemini роли должны чередоваться между ролями «пользователь» и «ai», что, я думаю, и является причиной проблемы. Сообщения-примеры, созданные в результате выполнения руководства, в конечном итоге имеют следующую структуру: HumanMessage - AIMessage - ToolMessage - HumanMessage - AIMessage - ToolMessage - и т. д.
Мой вопрос: как правильно организовать эти примеры сообщений для Gemini?
Если я просто удалю части ToolMessage, я перестану получать ошибки, но Я не уверен, что это подходящий способ сделать это. Может быть, было бы лучше добавить сообщение AIMessage между сообщениями инструмента и человека?
Подробнее здесь: https://stackoverflow.com/questions/791 ... all-turn-c
Примеры RAG и Gemini: InvalidArgument: убедитесь, что поворот вызова функции происходит сразу после поворота пользовател ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение