Este Chat Agent foi desenvolvido especificamente como um aplicativo de exemplo reutilizável e configurável para compartilhar com empresas ou clientes potenciais.
- Ele usa LangChain como estrutura para configurar facilmente cadeias de perguntas e respostas do LLM
- Ele usa Streamlit como estrutura para criar facilmente aplicativos da Web
- Ele usa Astra DB como armazenamento de vetores para permitir o Retrieval Augmented Generation, a fim de fornecer interações contextuais significativas
- Ele usa Astra DB como memória de curto prazo para acompanhar o que foi dito e gerado
- Ele usa um StreamingCallbackHandler para transmitir a saída para a tela, o que evita ter que esperar pela resposta final
- Ele permite que novo conteúdo seja carregado, vetorizado e armazenado no banco de dados vetorial Astra DB para que possa ser usado como contexto
- Oferece uma localização configurável através de
localization.csv
- Oferece uma experiência guiada sobre trilhos através de
rails.csv
- Primeiro instale as dependências do Python usando:
pip3 install -r requirements.txt
- Em seguida, atualize os segredos
OpenAI
,AstraDB
e opcionalmenteLangSmith
emstreamlit-langchain/.streamlit/secrets.toml
. Há um exemplo fornecido emsecrets.toml.example
.
Agora é hora de personalizar o aplicativo para seu caso específico.
Defina as credenciais adicionando um novo nome de usuário e senha na seção [passwords]
em streamlit-langchain/.streamlit/secrets.toml
.
Defina o idioma da UI do aplicativo adicionando um código de localização na seção [languages]
em streamlit-langchain/.streamlit/secrets.toml
. Atualmente en_US
, nl_NL
e pt_BR
são suportados. No entanto, é fácil adicionar idiomas adicionais em localization.csv
.
Crie uma experiência guiada fornecendo exemplos de prompts em rails.csv
. A convenção aqui é que <username>
da Etapa 1 seja usado para definir a experiência.
Inicie o aplicativo e carregue previamente os arquivos PDF e de texto relevantes para que o aplicativo tenha conteúdo que possa ser usado como contexto para as perguntas/solicitações na próxima etapa. Todos esses dados serão carregados em uma tabela específica do usuário definida por <username>
.
Crie uma página de boas-vindas personalizada na pasta raiz. A convenção aqui é criar um arquivo markdown chamado <username>.md
. O ideal é listar quais arquivos foram pré-carregados.
Você está pronto para executar o aplicativo da seguinte maneira:
streamlit execute app.py
Além do conteúdo pré-carregado, um usuário pode adicionar conteúdo adicional que será usado como contexto para prompts.
É fácil enviar este aplicativo para a edição comunitária do Streamlit. Como o aplicativo usa uma página de login, é seguro disponibilizá-la publicamente.
O objetivo deste aplicativo é ser facilmente compartilhado dentro das empresas. Esteja ciente de que SUA assinatura OPENAI está sendo usada para criar embeddings e chamadas LLM. Isso IRÁ incorrer em custos.