Skip to content

Repository files navigation

neuralearn_ai

API para um agente de perguntas e respostas, construída com FastAPI e LangChain (OpenAI), com logging estruturado e tracing das chamadas ao LLM via Langfuse.

Stack

  • FastAPI
  • LangChain + langchain-openai
  • Langfuse (tracing/observabilidade)
  • Pytest (testes)

Estrutura

app/
  main.py          # entrypoint FastAPI
  core/             # config, logging e tracing
  agent/            # logica do agente (LLM)
  api/              # rotas e schemas
tests/              # testes automatizados

Configuração

Copie .env.example para .env e preencha as variáveis:

OPENAI_API_KEY=
OPENAI_MODEL=gpt-4o-mini
LANGFUSE_PUBLIC_KEY=
LANGFUSE_SECRET_KEY=
LANGFUSE_HOST=https://cloud.langfuse.com
CORS_ORIGINS=

CORS_ORIGINS é uma lista de origens separadas por vírgula liberadas para chamar a API a partir do browser (ex.: https://meusite.vercel.app,http://localhost:3000). Sem essa variável, nenhuma origem cross-origin é liberada e o fetch do frontend falha com erro de CORS.

Rodando localmente

python -m venv venv
source venv/Scripts/activate   # Windows: venv\Scripts\Activate.ps1
pip install -r requirements.txt

uvicorn app.main:app --reload

A API sobe em http://127.0.0.1:8000.

  • GET /health — healthcheck
  • POST /agent/ask — envia {"question": "..."} e recebe {"answer": "..."}

Testes

pip install -r requirements-dev.txt
pytest -v

O CI (GitHub Actions, em .github/workflows/ci.yml) roda os testes a cada push/PR na main.

Deploy

Configuração pronta para Vercel (vercel.json). Defina as variáveis de ambiente no dashboard do projeto antes do deploy.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages