1
resposta

Erro ao executar 1a query

Segue meu código, semelhante ao do curso:

model = 'llama-3.3-70b-versatile'
model_hf_emb = 'BAAI/bge-m3'
Settings.llm = Groq(model=model, groq_api_key=key)
Settings.embed_model = HuggingFaceEmbedding(model_name=model_hf_emb)
sql_database = SQLDatabase(engine)
table_node_map = SQLTableNodeMapping(sql_database)

table_schema_obj = []
for table_name in metadata_obj.tables.keys():
    table_schema_obj.append(
        SQLTableSchema(table_name=table_name))
object_index = ObjectIndex.from_objects(table_schema_obj, table_node_map, VectorStoreIndex)
obj_retriever = object_index.as_retriever(similarity_top_k=1)
query_engine = SQLTableRetrieverQueryEngine(
    sql_database=sql_database,
    table_retriever=obj_retriever
)
resp = query_engine.query('Quais são os clientes cadastrados?')

Porém ao executá-lo aparece o seguinte erro:

WARNING:llama_index.llms.openai.utils:Retrying llama_index.llms.openai.base.OpenAI._chat in 1.0 seconds as it raised APIConnectionError: Connection error..
WARNING:llama_index.llms.openai.utils:Retrying llama_index.llms.openai.base.OpenAI._chat in 1.4790521048410215 seconds as it raised APIConnectionError: Connection error..
---------------------------------------------------------------------------
LocalProtocolError                        Traceback (most recent call last)
/usr/local/lib/python3.11/dist-packages/httpx/_transports/default.py in map_httpcore_exceptions()
    100     try:
--> 101         yield
    102     except Exception as exc:

50 frames
LocalProtocolError: Illegal header value b'Bearer '

The above exception was the direct cause of the following exception:

LocalProtocolError                        Traceback (most recent call last)
LocalProtocolError: Illegal header value b'Bearer '

The above exception was the direct cause of the following exception:

APIConnectionError                        Traceback (most recent call last)
/usr/local/lib/python3.11/dist-packages/openai/_base_client.py in _request(self, cast_to, options, retries_taken, stream, stream_cls)
   1028 
   1029             log.debug("Raising connection error")
-> 1030             raise APIConnectionError(request=request) from err
   1031 
   1032         log.debug(

APIConnectionError: Connection error.

Mesmo usando o Groq, com modelo Llama, aparentemente o LlamaIndex está tentando usar a API do OpenAI. Alguma razão para isto estar acontecendo?

1 resposta

Oi, Sergio! Tudo bem?

O problema parece estar relacionado com a configuração das credenciais de API, o que está causando um erro de conexão. O erro específico que você mencionou, "Illegal header value b'Bearer '", sugere que o valor do cabeçalho de autorização está vazio ou incorreto. Isso geralmente ocorre quando a chave da API não está configurada corretamente.

Vou deixar algumas dicas que podem ajudar a resolver o problema:

  1. Verifique a Chave da API: Certifique-se de que a chave da API que você está usando para o Groq está correta e foi atribuída corretamente à variável key. No seu código, você está passando key para groq_api_key, então verifique se key contém o valor esperado.

  2. Configuração do LlamaIndex: Mesmo que você esteja usando o Groq, pode ser que o LlamaIndex ainda esteja configurado para tentar usar o OpenAI. Verifique se há alguma configuração padrão ou variável de ambiente que esteja direcionando para o OpenAI. Pode ser necessário desativar ou ajustar essas configurações.

  3. Dependências e Versões: Certifique-se de que todas as bibliotecas e pacotes que você está usando estão atualizados. Às vezes, problemas de compatibilidade de versão podem causar comportamentos inesperados.

  4. Verifique o Código do Curso: Compare seu código com o exemplo do curso para garantir que não houve nenhuma modificação acidental que possa ter introduzido esse erro.

Espero ter ajudado!

Siga firme nos seus estudos e conte com o fórum sempre que precisar!

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado