Chatbot com PDF para pesquisas semânticas sobre documentos (construir com streamlit, Langchain, Pinecone/Chroma/Azure Cognition Search)
Este repositório contém um exemplo de código sobre como criar um chatbot interativo para pesquisa semântica sobre documentos. O chatbot permite que os usuários façam perguntas de linguagem natural e obtenham respostas relevantes de uma coleção de documentos. O chatbot usa o streamlit para interface web e chatbot, Langchain e aproveita vários tipos de bancos de dados de vetores, como pesquisa vetorial da Pinecone, Chroma e Azure Cognitive, para executar pesquisas de similaridade eficientes e precisas. O código é escrito no Python e pode ser facilmente modificado para se adequar a diferentes casos de uso e fontes de dados.
Confira também minha história em bancos de dados médios (simplit e vetores: um guia para criar aplicativos da Web interativos para pesquisa semântica sobre documentos) para obter mais compartilhamento de detalhes.
- preprocess_pinecone.ipynb <- Exemplo de uso do modelo de incorporação do serviço Azure OpenAi para incorporar o conteúdo do documento e salvá-lo no banco de dados vetorial do Pinecone.
- preprocess_chroma.ipynb <- Exemplo de uso do modelo de incorporação do serviço Azure OpenAi para incorporar o conteúdo do documento e salvá-lo no banco de dados do Chroma Vector.
- preprocess_acs.ipynb <- Exemplo de uso do modelo de incorporação do serviço Azure OpenAI para incorporar o conteúdo do documento e salvá-lo no banco de dados do vetor de pesquisa cognitiva do Azure.
- consume_pinecone.ipynb <-Exemplo de uso do módulo Langchain Question-Answering para executar a pesquisa de similaridade no banco de dados do vetor pinecone e usar o GPT-3.5 (text-davinci 003) para resumir o resultado.
- consume_chroma.ipynb <-Exemplo de uso do módulo de resposta à resposta de Langchain para executar a pesquisa de similaridade no banco de dados do Chroma Vector e usar o GPT-3.5 (Text-Davinci-003) para resumir o resultado.
- consume_acs.ipynb <-Exemplo de usar o módulo de resposta à resposta de Langchain para executar a pesquisa de similaridade no banco de dados do vetor de pesquisa cognitiva do Azure e usar o GPT-3.5 (Text-Davinci-003) para resumir o resultado.
- APP_PINECONE.PY <- Exemplo de uso do banco de dados de streamlit, Langchain e Pinecone Vector para criar um chatbot interativo para facilitar os documentos de pesquisa semântica. Ele usa o modelo GPT-3.5-Turbo do serviço Azure Openai para resumo e bate-papo de resultados.
- App_chroma.py <- Exemplo de uso do banco de dados de streamlit, Langchain e Chroma Vector para criar um chatbot interativo para facilitar a pesquisa semântica sobre documentos. Ele usa o modelo GPT-3.5-Turbo do serviço Azure Openai para resumo e bate-papo de resultados.
- APP_ACS.PY <- Exemplo de uso do banco de dados Vector StryPlit, Langchain e Azure Cognitive Search Vector para criar um chatbot interativo para facilitar os documentos de pesquisa semântica. Ele usa o modelo GPT-3.5-Turbo do serviço Azure Openai para resumo e bate-papo de resultados.
Para executar este aplicativo Web Streamlit
streamlit run app_pinecone.py
Arquitetura de alto nível e fluxo desta demonstração de pesquisa semântica sobre documentos 
Aproveitar!