Aprendizagem pessoal com IA
e orientação prática
Beanbag Marscode1

Implementação de um agente local com o LlamaIndex

breve

Este documento descreve como usar o LlamaIndex no ReActAgent combinando Ollama Implementar um agente local simples.

O LLM usado neste documento é o modelo qwen2:0.5b. Como modelos diferentes têm capacidade diferente de chamar ferramentas, você pode tentar implementar o Agent com modelos diferentes.

Observação: este documento contém trechos do código principal e explicações detalhadas. O código completo pode ser encontrado em notebook .

 

1. importação de dependências

de llama_index.core.tools.import FunctionTool
from llama_index.core.agent import ReActAgent
from llama_index.llms.ollama import Ollama

 

2) Inicializar a ferramenta Agente

# Definir ferramentas
def multiply(a: float, b: float) -> float.
"""Multiplicar dois inteiros e retornar o resultado integer""""
return a * b
# Criar instâncias de FunctionTool
multiply_tool = FunctionTool.from_defaults(
fn=multiply,
name="MultiplyTool", description="Uma ferramenta que multiplica
fn=multiply, name="MultiplyTool", description="Uma ferramenta que multiplica dois floats.", return_direct=True
return_direct=True
)

 

3. inicializar o LLM e o agente

# Inicialização do LLM
llm = Ollama(model="qwen2:0.5b", request_timeout=360.0)
# Inicializar ReAct agente com ferramentas
agente = ReActAgent.from_tools([multiply_tool], llm=llm, verbose=True)

 

4. condução do diálogo

  • Use o diálogo LLM diretamente.
# resposta direta
res_llm = llm.complete("What is 2.3 × 4.8 ? Calcule passo a passo")
print(res_llm)

Resultados de saída:

Para calcular \( 2,3 \times 4,8 \), você pode seguir estas etapas.
1. **Realize a multiplicação:** Ao multiplicar decimais, basta multiplicar os numeradores (os números superiores) para obter o numerador do produto.
\[
2,3 \times 4,8 = 9,44
\] 2. **Multiplicar
2. **Multiplique os denominadores (números inferiores)**
O denominador de \(4,8\) não é afetado pela multiplicação porque ele não contém um fator que possa afetar seu valor ou determinar o resultado. 3. **Calcule o denominador de \(4,8\) porque ele não contém um fator que possa afetar seu valor ou determinar o resultado.
3. **Calcule o produto** Como não há fatores comuns entre o produto e seu valor, não é possível determinar o resultado.
Como não há fatores comuns entre o numerador e o denominador, o cálculo é.
**Calcule o produto** Como não há fatores comuns entre o numerador e o denominador, o cálculo é
9,44 = 2,3 \times 2,3
\]
Essa multiplicação não fornece um novo número porque \(2,3\) e \(2,3\) já foram multiplicados para obter 5,6.
Portanto, \(2,3 \times 4,8 = 9,44\).
  • O LLM chama o diálogo do agente.
# usar agente
response = agent.chat("What is 2.3 × 4.8 ? Calcule passo a passo")
response.response

Resultados de saída:

> Executando a etapa 9227846e-d630-4ce2-a760-c8e90366dc6c. Entrada da etapa: Quanto é 2,3 × 4,8? Calcular etapa por etapa
Pensamento: A tarefa está pedindo para multiplicar dois números, 2,3 e 4,8, e depois calcular essa multiplicação passo a passo.
Ação: MultiplyTool
Entrada da ação: {'a': 2.3, 'b': 4.8}
Observação: 11.04

 


Referência: https://docs.llamaindex.ai/en/stable/examples/agent/react_agent/

CDN1
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Implementação de um agente local com o LlamaIndex

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil