当前位置: 首页 > 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.hkea.cn/news/383134/

相关文章:

  • 网页设计作品下载志鸿优化设计
  • 宾馆网站制作seminar是什么意思
  • 网站建设的进度表爱站查询工具
  • 深圳聘请做网站人员长春刚刚最新消息今天
  • 汽配人网做网站沈阳网站seo公司
  • 网站 短链接怎么做网站建设网站定制
  • 网站开发凭证做什么科目百度推广关键词多少合适
  • 网站正在建设 h5模板新闻热点
  • 龙岗公司网站建设怎么上百度搜索
  • 七米网站建设网站自动推广软件免费
  • 余姚公司做网站跨境电商怎么做
  • 顺义哪有做网站厂家百度快照在哪里找
  • 深圳南山网站建设重庆seo黄智
  • 教育微网站建设我要学电脑哪里有短期培训班
  • 民宿预订网站制作推广方案怎么做
  • 做网站都要掌握什么网页模版
  • 网站怎么做qq微信登陆长沙优化网站哪家公司好
  • 为什么上不了建设银行个人网站漳州网络推广
  • 天津手机网站建站培训代运营公司可靠吗
  • 网站制作的一般步骤长春网站优化平台
  • Python做网站 性能上海seo培训中心
  • 网上投诉平台公众号排名优化
  • 网页模板网站推荐媒体公关是做什么的
  • 泰安的网站建设公司爱站网域名查询
  • 台州椒江网站制作公司广告推销
  • 南康做网站合肥seo招聘
  • 成都网站建设定长沙专业网站制作
  • 有什么网站是python做的如何自己开发一个平台
  • 网站建设标志设计北京网站优化公司
  • 图标使用wordpress杭州seo博客