Este é um descanso para um agente de conversação, que permite a incorporação de documentos, pesquise-os usando pesquisa semântica, com QA com base em documentos e faça o processamento de documentos com grandes modelos de idiomas.
No momento, estou reformulando o Langgraph, portanto, nem todas as versões do Main funcionarão com todos os provedores. Vou atualizar os provedores nas próximas semanas. Por favor, use os lançamentos para obter uma versão em funcionamento.
Se você quiser usar um alfa Aleph, recomendaria meu outro back-end: https://github.com/mfmezger/aleph-alpha-rag.
Para executar o sistema completo com o Docker, use este comando:
git clone https://github.com/mfmezger/conversational-agent-langchain.git
cd conversational-agent-langchain
Crie um arquivo .env a partir do .env-TEMPLATE e defina a chave da API QDRANT. Para testes, basta defini -lo para testar. QDRANT_API_KEY = "TEST"
Em seguida, inicie o sistema com
docker compose up -d
Em seguida, vá para http://127.0.0.1:8001/docs ou http://127.0.0.1:8001/redoc para ver a documentação da API.
Frontend: Localhost: 8501 Painel QDRANT: Localhost: 6333/Painel
Este projeto é um agente de conversação que usa modelos Aleph Alpha e OpenAi Language para gerar respostas às consultas do usuário. O agente também inclui um banco de dados vetorial e uma API REST construída com FASTAPI.
Características
A pesquisa semântica é uma técnica de pesquisa avançada que visa entender o significado e o contexto da consulta de um usuário, em vez de corresponder a palavras -chave. Envolve o processamento de linguagem natural (PNL) e os algoritmos de aprendizado de máquina para analisar e interpretar a intenção do usuário, sinônimos, relacionamentos entre palavras e a estrutura do conteúdo. Ao considerar esses fatores, a pesquisa semântica melhora a precisão e a relevância dos resultados da pesquisa, fornecendo uma experiência mais intuitiva e personalizada do usuário.
Langchain é uma biblioteca para processamento de linguagem natural e aprendizado de máquina. O FASTAPI é uma estrutura da Web moderna e rápida (de alto desempenho) para criar APIs com Python 3.7+ com base em dicas padrão do tipo Python. Um Vectordatabase é um banco de dados que armazena vetores, que podem ser usados para pesquisas de similaridade e outras tarefas de aprendizado de máquina.
Duas maneiras de gerenciar suas chaves da API estão disponíveis, a abordagem mais fácil é enviar o token da API no pedido como token. Outra possibilidade é criar um arquivo .env e adicionar o token da API lá. Se você usar o OpenAI do Azure ou OpenAI diretamente, precisará definir os parâmetros corretos no arquivo .env.
No Linux ou Mac, você precisa ajustar seu arquivo /etc /hosts para incluir a seguinte linha:
127.0.0.1 qdrant
Primeiro instale as dependências do Python:
Você precisa inspirar centeio se deseja usá -lo para sincronizar o arquivo requisitos.lock. Instalação de centeio.
rye sync
# or if you do not want to use rye
pip install -r requirements.lock
Inicie o sistema completo com:
docker compose up -d
Para executar o banco de dados QDRANT Local, basta executar:
docker compose up qdrant
Para executar o back -end, use este comando no diretório raiz:
poetry run uvicorn agent.api:app --reload
Para executar os testes, você pode usar este comando:
poetry run coverage run -m pytest -o log_cli=true -vvv tests
Para executar o front -end, use este comando no diretório raiz:
poetry run streamlit run gui.py --theme.base= " dark "
MyPy Rag-bases de pacote explic
O Painel QDRANT está disponível em http://127.0.0.1:6333/dashboard. Lá você precisa entrar na chave da API.
Para usar a API QDRANT, você precisa definir os parâmetros corretos no arquivo .env. QDRANT_API_KEY é a chave da API para a API QDRANT. E você precisa alterá -lo no arquivo QDRANT.YAML na pasta Config.
Se você deseja ingerir uma grande quantidade de dados, eu recomendaria que você use os scripts localizados em agente/ingestão.
Para testar a API, eu recomendaria Bruno. As solicitações da API são armazenadas na pasta Convagentbruno.