当前位置: 首页 > news >正文

沈阳犀牛云做网站怎么样天津关键词优化平台

沈阳犀牛云做网站怎么样,天津关键词优化平台,手机网站建设价格,深圳门户网站建设案例AI 代理教程:如何创建信息检索聊天机器人 介绍 在本教程中,我们将指导您使用 AI 代理创建用于信息检索的复杂聊天机器人的过程。探索如何利用 AI 的强大功能构建能够高效地从各种来源检索数据的聊天机器人。 设置环境 我们的计划是使用 AI 代理&…

在这里插入图片描述

AI 代理教程:如何创建信息检索聊天机器人

介绍

在本教程中,我们将指导您使用 AI 代理创建用于信息检索的复杂聊天机器人的过程。探索如何利用 AI 的强大功能构建能够高效地从各种来源检索数据的聊天机器人。

设置环境

我们的计划是使用 AI 代理(LangChain)创建一个聊天机器人,并使用 Chainlit 创建一个简单的 UI。

我们希望我们的聊天机器人能够分两个阶段响应查询:规划和检索。代理应该可以访问维基百科和网络搜索。

准备和依赖

让我们从创建一个新项目开始。我将从创建新目录开始:

mkdir agents-chatbot
cd agents-chatbot

让我们创建虚拟环境并安装依赖项:

python3 -m venv venv# Linux/MacOS
source venv/bin/activate# Windows
venv\Scripts\activate.batpip install langchain chainlit python-dotenv wikipedia duckduckgo-search

现在我们可以创建我们的 app.py 文件(Chainlit 需要名称):

touch app.py

最后一步是导入我们的依赖项:

import osimport chainlit as cl
from dotenv import load_dotenv
from langchain import PromptTemplate
from langchain.agents import AgentType, Tool, initialize_agent
from langchain.chains import ConversationChain
from langchain.chains.conversation.memory import ConversationBufferMemory
from langchain.chat_models import ChatOpenAI
from langchain.tools import DuckDuckGoSearchRun
from langchain.utilities import WikipediaAPIWrapperload_dotenv()# OpenAI API key
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")

免责声明:我在 .env 文件中定义了我的环境变量,您可以执行相同的操作或在代码中定义秘密。

编码

现在是时候初始化 LLM 和工具了。我将在本教程中使用 GPT-4,但如果您愿意,也可以使用其他模型。我还将使用 DuckDuckGoSearchRunWikipediaAPIWrapper 作为我的工具。

llm = ChatOpenAI(temperature=0, model="gpt-4")search = DuckDuckGoSearchRun()
wikipedia = WikipediaAPIWrapper()# Web Search Tool
search_tool = Tool(name="Web Search",func=search.run,description="A useful tool for searching the Internet to find information on world events, issues, etc. Worth using for general topics. Use precise questions.",
)# Wikipedia Tool
wikipedia_tool = Tool(name="Wikipedia",func=wikipedia.run,description="A useful tool for searching the Internet to find information on world events, issues, etc. Worth using for general topics. Use precise questions.",
)

下一步是准备 PromptTemplates。我会准备两个。一个用于规划过程,一个用于生成最终响应的过程。

prompt = PromptTemplate(template="""Plan: {input}History: {chat_history}Let's think about answer step by step.
If it's information retrieval task, solve it like a professor in particular field.""",input_variables=["input", "chat_history"],
)plan_prompt = PromptTemplate(input_variables=["input", "chat_history"],template="""Prepare plan for task execution. (e.g. retrieve current date to find weather forecast)Tools to use: wikipedia, web searchREMEMBER: Keep in mind that you don't have information about current date, temperature, informations after September 2021. Because of that you need to use tools to find them.Question: {input}History: {chat_history}Output look like this:
'''Question: {input}Execution plan: [execution_plan]Rest of needed information: [rest_of_needed_information]
'''IMPORTANT: if there is no question, or plan is not need (YOU HAVE TO DECIDE!), just populate {input} (pass it as a result). Then output should look like this:
'''input: {input}
'''
""",
)

现在是启动代理和计划链的时候了。此外,我将添加内存,以便它们可以保存有关先前消息的信息。

memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)plan_chain = ConversationChain(llm=llm,memory=memory,input_key="input",prompt=plan_prompt,output_key="output",
)# Initialize Agent
agent = initialize_agent(agent=AgentType.CHAT_CONVERSATIONAL_REACT_DESCRIPTION,tools=[search_tool, wikipedia_tool],llm=llm,verbose=True,  # verbose option is for printing logs (only for development)max_iterations=3,prompt=prompt,memory=memory,
)

UI部分

现在是时候创建 UI 了。我将使用 Chainlit 来实现此目的。我将利用 factory 函数将我们的代理传递给 Chainlit。但在触发 factory 函数之前,Chainlit 使用 run 函数准备将输入传递给模型的管道。我将覆盖它以稍微改变流程。我想首先执行规划,然后生成响应。

@cl.langchain_run
def run(agent, input_str):# Plan executionplan_result = plan_chain.run(input_str)# Agent executionres = agent(plan_result)# Send messagecl.Message(content=res["output"]).send()@cl.langchain_factory
def factory():return agent

好的,我们快完成了。最后一步是运行我们的应用程序!

chainlit run app.py -w  # -w flag is for restarting app after each change

结果!

太好了,现在让我们测试一下我们的应用程序。我将通过说“你好”来启动我们的应用程序,然后问它一个问题。让我们看看结果会是什么!

**聊天机器人结果**

太棒了!正如您最初看到的那样,模型绕过规划,直到收到提示 — 然后,它组织任务并根据预期制定响应!

勇往直前,构建您独特的 AI 代理应用程序,不要错过 6 月 9 日开始的 AI 代理黑客马拉松。通过我们的 AI 教程提升您的知识,并利用 AI 的威力塑造未来!

http://www.tj-hxxt.cn/news/88555.html

相关文章:

  • 国内网站建设最好公司seo智能优化系统
  • 个人公司网站模板销售平台排名
  • 昭通昭阳区城乡建设管理局网站搜索app下载
  • 广州品牌营销策划公司排名温州seo公司
  • 建设网站费用多少钱seo网站搜索优化
  • 猪八戒里面做网站骗子很多昆明seo外包
  • 一个主机可以做几个网站域名吉林seo基础知识
  • 静态网站开发 内容某个网站seo分析实例
  • 邯郸网络运营中心电话多少seo网站编辑优化招聘
  • 做AI免费网站全国新增确诊病例
  • 网站域名使用怎么做待摊分录长尾关键词挖掘爱站工具
  • 创建站点如何做网站营销型网站设计制作
  • 手机网站的建设优化软件刷排名seo
  • 简单的网站建设宝鸡seo排名
  • 做机械设备内销网站有哪些百度怎么推广自己的信息
  • 下列关于网站开发中网站上传手机如何制作网站教程
  • 浙江建设部网站识图
  • asp做动态网站百度问问首页
  • 做网站笔记本seo指的是搜索引擎营销
  • 把网站做成appseo公司排行
  • 广州专业网站建设公司推广产品最好的方式
  • wordpress视屏站大数据查询
  • 网站建设找博网上海百度推广公司排名
  • 网站建设合同首付多少钱西安网站制作价格
  • 揭阳做网站广东疫情最新资讯
  • 网站制作的文章免费推广工具
  • 做网站工作室百度信息流推广是什么意思
  • 销售方案网站网络销售挣钱吗
  • wordpress建站优缺点南昌网站优化公司
  • 网站域名空间租用合同自助建站系统哪个好用