py-vectara-agentic:构建强大AI助手与Agent的利器

py-vectara-agentic:构建强大AI助手与Agent的利器

在当今智能化时代,AI助手与Agent的应用已经成为技术发展的重要方向。py-vectara-agentic 是一个功能强大的Python库,它利用Vectara和Agentic-RAG技术,为开发者提供了一个快速创建AI助手和Agent的工具集。以下是对这个项目的详细介绍。

项目介绍

py-vectara-agentic 是基于LlamaIndex Agent框架构建的,它提供了便捷的助手函数,使得连接到Vectara语料库的工具创建变得异常简单。无论是金融、法律还是其他垂直领域,py-vectara-agentic都能提供定制化的工具,帮助开发者构建适用于多种场景的AI助手。

项目技术分析

py-vectara-agentic 采用了模块化设计,支持多种Agent类型,包括ReAct、OpenAIAgent、LATS和LLMCompiler。它能够与OpenAI、Anthropic、Gemini、GROQ、Together.AI等主流的多语言模型无缝集成。此外,内置的Arize Phoenix支持使得监控和反馈更加便捷。

项目技术应用场景

py-vectara-agentic 的应用场景广泛,以下是一些典型的使用案例:

  • 金融助手:提供金融报告查询、财务指标计算等服务。
  • 教学助手:辅助教学,提供相关学科的知识问答。
  • 法律助手:提供法律文件搜索、法律咨询等服务。
  • 电动汽车助手:提供电动汽车相关的信息查询和推荐。

项目特点

py-vectara-agentic 的主要特点如下:

  1. 快速工具创建:一行代码即可构建Vectara RAG工具或搜索工具。
  2. Agent灵活性:支持多种Agent类型,满足不同的应用需求。
  3. 预构建领域工具:针对金融、法律等领域提供预构建的工具。
  4. 多LLM集成:与多种语言模型集成,提供灵活的选择。
  5. 可观测性:通过Arize Phoenix进行监控和反馈。
  6. 工作流支持:通过定义自定义工作流,扩展Agent的能力。

核心功能/场景

vectara-agentic:使用Vectara和Agentic-RAG构建强大的AI助手和Agent。

接下来,我们将详细探讨py-vectara-agentic的安装、配置和使用。

安装

安装py-vectara-agentic非常简单,只需一行命令:

pip install vectara-agentic

快速开始

初始化Vectara工具工厂

首先,需要设置Vectara的API密钥和语料库键:

import os
from vectara_agentic.tools import VectaraToolFactory

vec_factory = VectaraToolFactory(
    vectara_api_key=os.environ['VECTARA_API_KEY'],
    vectara_customer_id=os.environ['VECTARA_CUSTOMER_ID'],
    vectara_corpus_key=os.environ['VECTARA_CORPUS_KEY']
)
创建Vectara RAG工具

使用create_rag_tool方法创建工具:

from pydantic import BaseModel, Field

class QueryFinancialReportsArgs(BaseModel):
    query: str
    year: int | str
    ticker: str

query_financial_reports_tool = vec_factory.create_rag_tool(
    tool_name="query_financial_reports",
    tool_description="Query financial reports for a company and year",
    tool_args_schema=QueryFinancialReportsArgs,
    lambda_val=0.005,
    summary_num_results=7
)
创建Agent

使用创建的工具和其他配置来初始化Agent:

from vectara_agentic import Agent

agent = Agent(
    tools=[query_financial_reports_tool],
    topic="10-K financial reports",
    custom_instructions="You are a helpful financial assistant."
)
运行对话

最后,使用chat方法与Agent进行对话:

res = agent.chat("What was the revenue for Apple in 2021?")
print(res.response)

高级使用:工作流

除了标准的对话交互,py-vectara-agentic还支持通过run()方法进行自定义工作流。工作流允许开发者构建多步骤交互,其中输入和输出通过Pydantic模型进行验证。

定义自定义工作流

通过继承llama_index.core.workflow.Workflow并定义输入/输出模型来创建工作流:

from pydantic import BaseModel
from llama_index.core.workflow import StartEvent, StopEvent, Workflow, step

class MyWorkflow(Workflow):
    class InputsModel(BaseModel):
        query: str

    class OutputsModel(BaseModel):
        answer: str

    @step
    async def my_step(self, ev: StartEvent) -> StopEvent:
        return StopEvent(result="Hello, world!")
使用工作流

在初始化Agent时,使用workflow_cls参数传入自定义工作流:

agent = Agent(
    tools=[query_financial_reports_tool],
    topic="10-K financial reports",
    custom_instructions="You are a helpful financial assistant.",
    workflow_cls=MyWorkflow
)
运行工作流

使用工作流的输入模型准备输入数据,并执行工作流:

inputs = MyWorkflow.InputsModel(query="What is Vectara?")
workflow_result = asyncio.run(agent.run(inputs))
print(workflow_result.answer)

总之,py-vectara-agentic为开发者提供了一个强大且灵活的工具集,用于构建AI助手和Agent。无论是金融、法律还是其他领域,它都能助力开发者快速实现高质量的项目。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值