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 的主要特点如下:
- 快速工具创建:一行代码即可构建Vectara RAG工具或搜索工具。
- Agent灵活性:支持多种Agent类型,满足不同的应用需求。
- 预构建领域工具:针对金融、法律等领域提供预构建的工具。
- 多LLM集成:与多种语言模型集成,提供灵活的选择。
- 可观测性:通过Arize Phoenix进行监控和反馈。
- 工作流支持:通过定义自定义工作流,扩展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),仅供参考



