Resumo de conversa
Visão geral : este aplicativo Streamlit cria um bot de resumo de conversa usando LangChain e o modelo de linguagem OpenAI. Ele permite que os usuários carreguem um arquivo JSON contendo uma conversa, processem a conversa e gerem um resumo usando técnicas de processamento de linguagem natural.
Componentes e bibliotecas usadas:
Streamlit : Para criar a interface do aplicativo web
JSON : para analisar o arquivo JSON carregado
LangChain : Para criar e executar a cadeia de resumo
OpenAI : como modelo de linguagem para resumo
dotenv : Para carregar variáveis de ambiente
**Funções principais e suas funções: **
um. Carregamento de arquivo:
- Usa file_uploader do Streamlit para permitir que os usuários carreguem um arquivo JSON
b. Processamento JSON:
- Analisa o arquivo JSON carregado
- Extrai dados de conversa da estrutura JSON
c. Formatação de conversa:
- Formata a conversa extraída em uma string
- Cria um objeto LangChain Document a partir da conversa formatada
d. Resumo:
- Utiliza o modelo de linguagem OpenAI por meio de LangChain
- Cria uma cadeia de resumo usando a estratégia "map_reduce"
- Gera um resumo da conversa
e. Mostrar:
- Mostra o resumo gerado na interface Streamlit
Fluxo de trabalho:
- O usuário carrega um arquivo JSON contendo uma conversa
- O aplicativo lê e processa o arquivo JSON
- A conversa é extraída e formatada
- Um pipeline de resumo LangChain é criado
- A conversa é resumida usando o modelo OpenAI
- O resumo é exibido ao usuário
Requisitos :
- Python 3.6+
- Streamlit
- LangChain
- Chave de API OpenAI (armazenada em uma variável de ambiente)
- Dados de conversa formatados em JSON
Configuração do ambiente:
- O aplicativo usa dotenv para carregar variáveis de ambiente
- A chave da API OpenAI deve ser armazenada em um arquivo .env ou definida como uma variável de ambiente
Opções de modelo : embora este código use o modelo OpenAI, LangChain oferece suporte a vários modelos de linguagem. As alternativas podem incluir:
- Abraçando modelos de rosto
- PaLM do Google
- Claude da Antrópico
- Modelos de linguagem de Cohere
Para usar um modelo diferente, você precisaria importar a integração LangChain apropriada e modificar a inicialização do llm.
- Modelo Hugging Face: você precisará definir HUGGINGFACEHUB_API_TOKEN em suas variáveis de ambiente.
- Google PaLM: você precisará definir GOOGLE_PALM_API_KEY em suas variáveis de ambiente.
- Claude da Anthropic: Você precisará definir ANTHROPIC_API_KEY em suas variáveis de ambiente.
- Cohere: você precisará definir COHERE_API_KEY em suas variáveis de ambiente.
Observação: para implementar qualquer uma dessas alterações, você substituiria a inicialização do modelo OpenAI em seu código original:
Lembre-se de instalar os pacotes necessários para cada modelo. Você pode fazer isso usando pip:
- pip instalar comunidade langchain
- pip install huggingface_hub # para HuggingFace
- pip instalar google-api-python-client # para Google PaLM
- pip instalar antrópico # para antrópico
- pip install cohere # para Cohere
Possibilidades de personalização :
- Ajuste os parâmetros de resumo (por exemplo, max_tokens, temperatura)
- Implementar diferentes estratégias de resumo (por exemplo, "coisas" ou "refinar" em vez de "map_reduce")
- Adicione tratamento de erros para processamento de arquivos e chamadas de API
- Aprimore a IU com componentes Streamlit adicionais
Limitações : Depende da estrutura do arquivo JSON de entrada Requer uma conexão ativa com a Internet para chamadas de API para OpenAI Resumo a qualidade depende dos recursos do modelo de linguagem escolhido