fastagent: uma ferramenta que facilita o envio do seu agente para produção
Documentação
Aviso
FastAgent está atualmente em desenvolvimento ativo e em fase alfa. Atualmente faltam recursos de segurança SSL e CORS, bem como testes abrangentes necessários para implantação em produção.
Você pode instalar o projeto usando pip: (disponível em breve no PyPI)
pip install git+https://github.com/bastienpo/fastagent.git
Primeiro, crie um aplicativo LangChain simples.
Vamos criar um arquivo app.py com o executável langchain mais simples que você pode criar, consistindo apenas em um grande modelo de linguagem.
# pip install -qU langchain-mistralai and requires MISTRAL_API_KEY in to be set
from langchain_mistralai import ChatMistralAI
chain = ChatMistralAI ( model = "ministral-3b-latest" )
Então, você precisa inicializar um arquivo de configuração fastagent (fastagent.toml) usando o seguinte comando:
fastagent init
Você precisará atualizar o campo app na seção do projeto para corresponder ao caminho do seu aplicativo no formulário:
<module_path>:<module_attribute>
no seu caso seria myapplication.app:chain
Se você decidiu usar um banco de dados em sua configuração, poderá usar o comando setup
para criar as tabelas e configurar o banco de dados.
fastagent setup
Quando estiver pronto para desenvolver ou enviar, você poderá iniciar o servidor de produção:
fastagent dev # fastagent run
A diferença entre o comando dev
e run
é que dev
recarregará o servidor nas alterações de código e registrará no console, enquanto run
criará uma imagem docker e servirá o aplicativo.
Este é o roteiro atual do projeto:
Observação
Este projeto ainda está em desenvolvimento ativo e o design está sujeito a alterações. Estou fazendo isso apenas como um projeto pessoal porque estava curioso para saber como enviar um agente para produção. Sinta-se à vontade para contribuir ou dar feedback. Estou realmente aberto a qualquer sugestão.
Futuro próximo:
Longo prazo:
Alguns recursos sobre as dependências utilizadas para o projeto e agradecimentos aos mantenedores dos projetos pelo seu trabalho.
O projeto é inspirado no LitServe.