Introdução geral
O Curiosity é um projeto desenvolvido para explorar e fazer experimentos, principalmente usando o LangGraph e FastHTML, com o objetivo de criar um IA de perplexidade do produto de pesquisa. No centro do projeto está um simples ReAct O Curiosity suporta uma variedade de modelos de linguagem grandes (LLMs), incluindo o gpt-4o-mini da OpenAI, o llama3-groq-8b-8192-tool-use-preview da Groq e o Ollama O projeto não se concentra apenas na implementação técnica, mas também dedica muito tempo ao design de front-end para garantir uma experiência visual e interativa de alta qualidade.
Lista de funções
- Usando o LangGraph e a pilha de tecnologia FastHTML
- Pesquisa integrada da Tavily Geração de texto aprimorada
- Suporte a vários LLMs, incluindo gpt-4o-mini, llama3-groq e llama3.1
- Oferece recursos flexíveis de comutação de back-end
- O front-end foi desenvolvido com FastHTML e suporta streaming de WebSockets.
Usando a Ajuda
Etapas de instalação
- Armazém de Clonagem:
git clone https://github.com/jank/curiosity
- Certifique-se de que você tenha o interpretador Python3 mais recente.
- Configure o ambiente virtual e instale as dependências:
python3 -m venv venv fonte venv/bin/activate pip install -r requirements.txt
- estabelecer
.env
e definir as seguintes variáveis:OPENAI_API_KEY= GROQ_API_KEY= TAVILY_API_KEY= LANGCHAIN_TRACING_V2=true LANGCHAIN_ENDPOINT="https://api.smith.langchain.com" LANGSMITH_API_KEY= LANGCHAIN_PROJECT="Curiosidade"
- Execute o projeto:
python curiosity.py
Diretrizes para uso
- Início de projetos: Executar
python curiosity.py
Depois disso, o projeto será iniciado e executado no servidor local. - Selecione LLMSelecione o LLM apropriado (por exemplo, gpt-4o-mini, llama3-groq ou llama3.1) de acordo com suas necessidades.
- Pesquisar com a TavilyInsira uma consulta em um diálogo e o ReAct Agent aprimora a geração de texto com a pesquisa Tavily.
- Interação de front-endO front-end do projeto foi desenvolvido com o FastHTML e é compatível com o fluxo de WebSockets para garantir uma resposta em tempo real.
problemas comuns
- Como mudar de LLM: em
.env
para configurar a chave de API apropriada e selecionar o LLM desejado ao iniciar o projeto. - Problemas de WebSocketsSe você tiver problemas com o fechamento de WebSockets sem motivo aparente, é recomendável verificar sua conexão de rede e a configuração do servidor.