graphRAG_perplexity é um projeto experimental que explora a integração de grafos de conhecimento com modelos de linguagem de grande escala (LLMs) para aprimorar sistemas de Recuperação Aumentada por Geração (RAG). A abordagem busca melhorar a compreensão e geração de respostas em contextos complexos, utilizando estruturas de grafos para representar e navegar por informações semânticas.
O projeto investiga como a construção e utilização de grafos de conhecimento podem ser aplicadas para enriquecer o contexto fornecido a LLMs durante tarefas de geração de texto. A ideia central é que, ao representar informações em forma de grafo, é possível capturar relações e estruturas semânticas que não são facilmente acessíveis através de métodos tradicionais de recuperação baseada em vetores.
Sistemas RAG tradicionais frequentemente enfrentam desafios ao lidar com perguntas que requerem a conexão de informações dispersas ou a compreensão de conceitos abstratos em grandes volumes de dados. Ao empregar grafos de conhecimento, é possível:([DataCamp][1])
- Representar entidades e suas inter-relações de forma estruturada.
- Facilitar a navegação por informações relacionadas, mesmo que estejam distantes no texto original.
- Fornecer contextos mais ricos e relevantes para os modelos de linguagem durante a geração de respostas.([Gist][2])
O repositório contém os seguintes arquivos principais:
graph.py: Implementa a lógica para construção e manipulação do grafo de conhecimento, incluindo a extração de entidades e relações a partir de textos.prompts.py: Define os prompts utilizados para interagir com o modelo de linguagem, incorporando informações do grafo.schemas.py: Contém definições de esquemas e estruturas de dados utilizadas no projeto.pyproject.toml&poetry.lock: Gerenciam as dependências do projeto utilizando o Poetry.([Microsoft no GitHub][3])
- Python: Linguagem principal para desenvolvimento do projeto.
- Poetry: Gerenciador de dependências e ambientes virtuais.
- LangGraph: Framework para construção e manipulação de grafos de conhecimento.
- Modelos de Linguagem: Utilização de LLMs para geração de texto baseada em contexto enriquecido por grafos.([CSDN][4])
-
Clone o repositório:
git clone https://github.com/0rakul0/graphRAG_perplexity.git cd graphRAG_perplexity -
Instale as dependências com o Poetry:
poetry install
-
Ative o ambiente virtual:
poetry shell
-
Execute os scripts conforme necessário, por exemplo:
python graph.py
Ao integrar grafos de conhecimento com modelos de linguagem, espera-se:
- Melhoria na precisão e relevância das respostas geradas.
- Capacidade de lidar com consultas complexas que requerem a conexão de múltiplas informações.
- Redução da perplexidade nas respostas, indicando maior confiança e coerência.
Este projeto está em fase experimental. Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests com sugestões, correções ou melhorias.
Este projeto está licenciado sob os termos da MIT License.