Open math-sasso opened 2 weeks ago
Olá @math-sasso, obrigado por levantar esse problema. Vamos fazer essa integração, mas até lá, como a nossa API é compatível com a da Open AI, basta trocar o endpoint url para https://chat.maritaca.ai/api
que já deveria funcionar o bind_tools.
Por favor, nos avise se isso resolve?
isso foi o que eu tentei
llm = ChatOpenAI(
model="sabia-3"
api_key=os.environ["MARITACA__API_KEY""],
base_url="https://chat.maritaca.ai/api"
)
O mesmo codigo que roda com a OpenAI da erros que parecem ser de integração.
rc/workflows/ai_workflows/ai_chatbot_checkpointer_workflow.py:111: in run
return self.execute_graph()
src/workflows/ai_workflows/ai_chatbot_checkpointer_workflow.py:101: in execute_graph
for event in events:
.venv/lib/python3.10/site-packages/langgraph/pregel/__init__.py:1278: in stream
for _ in runner.tick(
.venv/lib/python3.10/site-packages/langgraph/pregel/runner.py:52: in tick
run_with_retry(t, retry_policy)
.venv/lib/python3.10/site-packages/langgraph/pregel/retry.py:29: in run_with_retry
task.proc.invoke(task.input, config)
.venv/lib/python3.10/site-packages/langgraph/utils/runnable.py:385: in invoke
input = context.run(step.invoke, input, config, **kwargs)
.venv/lib/python3.10/site-packages/langgraph/utils/runnable.py:167: in invoke
ret = context.run(self.func, input, **kwargs)
src/workflows/agents/assistant.py:20: in __call__
result = self.runnable.invoke(state)
.venv/lib/python3.10/site-packages/langchain_core/runnables/base.py:3022: in invoke
input = context.run(step.invoke, input, config)
.venv/lib/python3.10/site-packages/langchain_core/runnables/base.py:5343: in invoke
return self.bound.invoke(
.venv/lib/python3.10/site-packages/langchain_core/language_models/chat_models.py:284: in invoke
self.generate_prompt(
.venv/lib/python3.10/site-packages/langchain_core/language_models/chat_models.py:784: in generate_prompt
return self.generate(prompt_messages, stop=stop, callbacks=callbacks, **kwargs)
.venv/lib/python3.10/site-packages/langchain_core/language_models/chat_models.py:641: in generate
raise e
.venv/lib/python3.10/site-packages/langchain_core/language_models/chat_models.py:631: in generate
self._generate_with_cache(
.venv/lib/python3.10/site-packages/langchain_core/language_models/chat_models.py:853: in _generate_with_cache
result = self._generate(
.venv/lib/python3.10/site-packages/langchain_openai/chat_models/base.py:670: in _generate
response = self.client.create(**payload)
.venv/lib/python3.10/site-packages/openai/_utils/_utils.py:274: in wrapper
return func(*args, **kwargs)
.venv/lib/python3.10/site-packages/openai/resources/chat/completions.py:704: in create
return self._post(
.venv/lib/python3.10/site-packages/openai/_base_client.py:1268: in post
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
.venv/lib/python3.10/site-packages/openai/_base_client.py:945: in request
return self._request(
.venv/lib/python3.10/site-packages/openai/_base_client.py:1049: in _request
raise self._make_status_error_from_response(err.response) from None
E openai.UnprocessableEntityError: Error code: 422 - {'detail': [{'loc': ['body', 'messages', 6, 'content'], 'msg': 'none is not an allowed value', 'type': 'type_error.none.not_allowed'}, {'loc': ['body', 'messages', 12, 'content'], 'msg': 'none is not an allowed value', 'type': 'type_error.none.not_allowed'}, {'loc': ['body', 'messages'], 'msg': 'str type expected', 'type': 'type_error.str'}]}
O modelo ChatMaritalk não tem as mesmas integrações que o modelo
ChatOpenai
tem. A comunidade está usando muito LangGraph e LCEL e uma troca GPT4 -> Sabia3 está muito dificil sem que haja essa integração. Eu notei que falta a funçãobind_tools
, mas acho que vocês precisam verificar e criar uma classe que suporte essa nova estrutuara dentro do langchain.