Introdução geral
O Oliva é uma ferramenta de assistente de inteligência múltipla de código aberto desenvolvida pela Deluxer no GitHub. O Oliva é uma ferramenta de assistente de inteligência múltipla de código aberto desenvolvida pela Deluxer no GitHub, que ajuda os usuários a pesquisar informações sobre produtos no banco de dados Qdrant por meio da colaboração de várias inteligências de IA. O Oliva é adequado para desenvolvedores ou pesquisadores, e o código é totalmente aberto para que os usuários possam fazer download, modificar e implantar. Ele não é apenas uma ferramenta prática, mas também uma plataforma para aprender sobre a arquitetura de inteligência múltipla. O projeto se baseia em pilhas de tecnologia modernas, como Livekit e Deepgram, que oferecem suporte à interação de voz em tempo real.
Lista de funções
- Pesquisa controlada por voz: o usuário insere comandos por voz e o corpo inteligente conclui a tarefa de pesquisa.
- Colaboração de várias inteligências: várias inteligências de IA dividem as tarefas de processamento, coordenadas por uma inteligência supervisora.
- Suporte à pesquisa semântica: com base no LangChain e no Superlinked, ele permite a recuperação precisa de conteúdo.
- Código-fonte aberto: o código completo é fornecido e os usuários têm liberdade para modificar e ampliar a funcionalidade.
- Implementação local ou na nuvem: suporte para execução local ou em um servidor com alta flexibilidade.
Usando a Ajuda
O Oliva é um projeto de código aberto baseado no GitHub, e você precisa configurar o ambiente e as dependências antes de usá-lo. A seguir, um guia detalhado de instalação e uso para ajudá-lo a começar rapidamente.
Processo de instalação
- Preparando o ambiente Python
O Oliva requer o Python 3.12 ou posterior. Verifique a versão:
python --version
Se você não tiver a versão correta, acesse o site do Python e faça o download e a instalação.
- projeto de clonagem
Abra o site https://github.com/Deluxer/oliva, clique no botão "Code" (Código), copie o link HTTPS e execute-o:
git clone https://github.com/Deluxer/oliva.git
Primeiro, você precisa instalar o Git, endereço de download: site oficial do Git.
- Vá para o diretório do projeto
Faça o download e vá para a pasta:
cd oliva
- Criação de um ambiente virtual
Para evitar conflitos de dependência, é recomendável criar um ambiente virtual:
python -m venv .venv
Ativar o ambiente:
- Windows:
.venv\Scripts\activate
- Mac/Linux:
source .venv/bin/activate
- Instalação de dependências
fazer uso deuv
Dependências de sincronização de ferramentas:
uv sync
Isso criará automaticamente o ambiente virtual e instalará todas as dependências, como LangChain, Superlinked, etc. Se você não tiver o uv
Instale-o primeiro:
pip install uv
- Configuração do banco de dados Qdrant
Executar o Qdrant com o Docker:
docker run -p 6333:6333 -p 6334:6334 -e QDRANT__SERVICE__API_KEY=your_api_key -v "$(pwd)/qdrant_storage:/qdrant/storage:z" qdrant/qdrant
Primeiro, você precisa instalar o Docker; faça o download em: site oficial do Docker. Coloque o arquivo your_api_key
Substitua por uma chave personalizada.
- Configuração de uma conta do Livekit
existir Nuvem do Livekit Registre-se para obter as seguintes informações:
LIVEKIT_URL=wss://your-project.livekit.cloud
LIVEKIT_API_KEY=your_key
LIVEKIT_API_SECRET=your_secret
Salve esses valores em uma variável de ambiente.
- Configuração de variáveis de ambiente
Copie o arquivo de exemplo e edite-o:
cp .env.example .env
existir .env
O arquivo é preenchido com o Livekit e o Deepgram (O Deepgram precisa estar no Site oficial do Deepgram (Registre-se para acessar).
- Preenchimento do banco de dados
com base em Tabular-semantic-search-tutorial para configurar os dados, ou simplesmente descompacte o arquivoassets/snapshot.zip
snapshots para o Qdrant.
Funções principais
- Iniciar o assistente de voz
Execute-o no diretório do projeto:
make oliva-start
Isso iniciará o serviço de assistente de voz. Certifique-se de que o Qdrant e o Livekit estejam em execução.
- Conexão com a interface de front-end
entrevistas Agente PlaygroundDigite suas credenciais de projeto do Livekit para se conectar ao assistente. Ou execute-o localmente: - clone (palavra emprestada) Agente Playground Warehouse::
git clone https://github.com/livekit/agents-playground.git
- Instale as dependências e inicie:
npm install npm run start
Digite um comando de voz na interface, como "Search for a product" (Procurar um produto).
- pesquisa semântica
Há duas maneiras de pesquisar: - Use o Superlinked:
make agent-search-by-superlinked
- Use arquivos JSON:
make agent-search-by-json
Os resultados da pesquisa são retornados por inteligências do banco de dados Qdrant.
Operação da função em destaque
- interação por voz
O Oliva suporta a inserção de comandos por voz. Após a inicialização, no menu Agent Playground Toque no ícone do microfone no Deepgram e diga o que deseja (por exemplo, "Localizar um telefone celular"). O Deepgram converte a fala em texto, e as inteligências a processam e retornam os resultados. A inteligência supervisora decidirá qual inteligência executará a tarefa. - colaboração de inteligência múltipla
O projeto usa um fluxo de trabalho gráfico (LangGraph) que contém vários nós (por exemplo, pesquisar, gerar) e bordas condicionais. O arquivo de configuração está no diretórioapp/agents/langchain/config/
em que o comportamento inteligente do corpo pode ser ajustado. A lógica central doapp/agents/
Catálogo. - Extensões personalizadas
Deseja adicionar recursos? Editarapp/agents/implementations/
no código do corpo inteligente. Por exemplo, para adicionar uma nova ferramenta, você precisa adicionar a tagapp/agents/langchain/tools/
Definido em.
advertência
- Certifique-se de que você tenha uma boa conexão com a Internet, pois o Livekit e o Deepgram exigem uma conexão com a Internet.
- O projeto tem muitas dependências, e a configuração inicial pode exigir várias sessões de depuração.
- Verifique os commits do GitHub para ter certeza de que está usando o código mais recente.
Com essas etapas, você pode executar o Oliva em sua totalidade e experimentar a função de pesquisa controlada por voz.
cenário do aplicativo
- Consulta de informações sobre o produto
Os usuários solicitam detalhes do produto por voz e o Oliva retorna os resultados do banco de dados Qdrant, adequado para cenários de comércio eletrônico. - Aprendizagem técnica
Os desenvolvedores estudam arquiteturas de corpos com várias inteligências e modificam o código para testar diferentes fluxos de trabalho. - Demonstração ao vivo
Demonstre a funcionalidade do assistente de voz em reuniões para destacar os recursos de colaboração com IA.
QA
- O que devo fazer se meu assistente de voz não responder?
Verifique se as chaves do Livekit e do Deepgram estão configuradas corretamente e certifique-se de que a conexão de rede esteja funcionando. - O que devo fazer se o Qdrant não conseguir iniciar?
Verifique se o Docker está em execução e se as portas 6333 e 6334 não estão ocupadas. - Ele pode ser usado off-line?
A função de voz requer uma conexão com a Internet, e a função de pesquisa pode ser executada off-line se os dados estiverem localizados.