Este aplicativo facilita um chatbot aproveitando Next.js como frontend e FastAPI como backend, utilizando o poder do LangChain para interações dinâmicas na web.
O aplicativo integra o servidor Python/FastAPI ao aplicativo Next.js na rota /api/
. Isso é conseguido por meio de reescritas next.config.js
, direcionando quaisquer solicitações /api/:path*
para o servidor FastAPI localizado na pasta /api
. Localmente, FastAPI é executado em 127.0.0.1:8000
, enquanto em produção opera como funções sem servidor no Vercel.
npm install
.env
com sua chave de API OpenAI: OPENAI_API_KEY=[your-openai-api-key]
npm run dev
Para testes somente de back-end:
conda create --name nextjs-fastapi-your-chat python=3.10
conda activate nextjs-fastapi-your-chat
pip install -r requirements.txt
uvicorn api.index:app --reload
As opções para preservar o histórico de bate-papo incluem:
RAG (Retrieval Augmented Generation) aprimora modelos de linguagem com contexto recuperado de uma base de conhecimento personalizada. O processo envolve buscar documentos HTML, dividi-los em pedaços e vetorizar esses pedaços usando modelos de incorporação como o OpenAI. Esses dados vetorizados formam um armazenamento de vetores, permitindo pesquisas semânticas baseadas nas consultas do usuário. Os pedaços relevantes recuperados são então usados como contexto para o modelo de linguagem, formando uma resposta abrangente às perguntas do usuário.
A função get_vectorstore_from_url
extrai e processa texto de um determinado URL, enquanto get_context_retriever_chain
forma uma cadeia que recupera o contexto relevante para todo o histórico da conversa. Essa abordagem de pipeline garante que as respostas sejam contextualmente conscientes e precisas.