Readme
Este readme normalmente documenta quaisquer etapas necessárias para colocar seu aplicativo em funcionamento.
Pilha de tecnologia
- Python 3.9
- FASTAPI
- FAISS-CPU == 1.7.4
- Langchain == 0.0.207
- Pinecone-Client
- PGVECTOR
Integrações de terceiros
- SendGrid - enviando e -mails
- YouTube-Transcript-Api-Obtendo texto URL do YouTube
- DOCX2TXT - Obtendo texto do arquivo docx
- Pypdf - Obtendo texto do arquivo PDF
- Texto de selenium -obtendo o arquivo URL
- Outros carregadores de documentos e dados de dados de dados
Configuração do projeto
Instale as dependências nos arquivos de requisitos
- pip install -r requisitos.txt
Adicione o OpenAI e outra chave da API no arquivo Env
Consulte Sample.env para nomes de variáveis e use backend.env como arquivo Env real
Configure as variáveis constantes em constant.py de acordo com o seu caso de uso
Configuração do banco de dados vetorial:
- Configure o aplicativo de acordo com o seu banco de dados vetorial
Diretrizes adicionais:
- Altere a maneira como os dados são analisados de acordo com o seu requisito personalizado
- Altere as variáveis constantes de acordo com os casos de uso
- Modifique o código do Boilerplate para os casos de uso específicos do seu projeto
características
- terminais e utilitos para funções genéricas
- Criar incorporação vetorial - do vídeo do YouTube, página HTML, Sitemaps, URL, PDF, DOCX, JSON, Arquivo de texto, CSV ou banco de dados relacional
- Pergunta e resposta com base em dados personalizados com fontes exatas
- A contagem de token e o token excederam o manuseio de erros com Tiktoken
- Diferentes suporte a dB vetorial para pontos de extremidade diferentes
Melhoria futura
- transmitindo a resposta do OpenAI em tempo real para o front -end
- Adicione alguns utilitários funcionam e melhorem a funcionalidade dos existentes.
- Torne o código mais modular e configurável
Ide
- Pycharm
- Vs código
- Texto sublime
Configuração do projeto
- Resumo da configuração
- Configuração
- Dependências
- Configuração do banco de dados
- Como executar testes
- Instruções de implantação
Convenções de codificação
- Pep8
- Escreva código modular e configurável
- Não coloque código comentado ou importações não utilizadas no código principal
- Importações absolutas devem ser usadas em vez de importações relativas
- Uso de strings F em vez de .format () ou %s
- Nomes de classe devem estar em camelcase
- Nomes de funções e nomes de variáveis devem estar em Snake_case
- Uso de dicas de tipo
- Uso de Docstrings
- Uso do log
Diretrizes de contribuição
- Testes de escrita
- Revisão do código
- Outras diretrizes
Redis Integation
- Instale Redis: Pip Install Redis Aioredis
- Congele os requisitos: congelamento pip> requisitos.txt
- Adicionar redis_host_url no arquivo .env
- A instância Redis é criada no arquivo main.py, no evento On_Startup
Integração do aipo
- Instale o aipo: Pip Install Celery
- Congele os requisitos: congelamento pip> requisitos.txt
- Adicione o anely_broker_url no arquivo .env
- A instância do aipo é criada no módulo principal, em CELY_APP
- As tarefas de aipo são criadas no módulo de trabalhador no diretório raiz
- O trabalhador do aipo é iniciado usando comando: aipo -a app.worker worker -l info -c 1
Integração da batida do aipo
- Instale o aipo: Pip Install Celery
- Congele os requisitos: congelamento pip> requisitos.txt
- A instância de batida de aipo é criada no módulo de trabalhador no diretório raiz
- Ao adicionar novas tarefas, adicione -as no módulo de trabalhador no diretório raiz com o tempo programado em segundos
- A batida de aipo é iniciada usando comando: aipo -a app.worker Beat -l Info
Integração de sentinela
- Instale Sentry SDK: PIP Install Sentry-SDK
- Congele os requisitos: congelamento pip> requisitos.txt
- A instância de sentinela é criada no arquivo main.py