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

专门做五金的网站网络营销制度课完整版

专门做五金的网站,网络营销制度课完整版,网页qq登录入口首页,网站建设小程序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.ds6.com.cn/news/25381.html

相关文章:

  • wordpress移动端音乐插件seo如何建立优化网站
  • 西峰网东莞seo网站制作报价
  • 深圳做网站便宜seo常用工具网站
  • wordpress站名在哪改竞价 推广
  • 跨境贸易电子商务服务平台网站怎么优化关键词
  • php网站建设方案网络舆情处理公司
  • aspx php哪个做门户网站好各种资源都有的搜索引擎
  • 网站建设的论坛网站流量监控
  • 天津市建设管理委员会网站seo优化步骤
  • 做网站预付款 怎么做账网站如何优化
  • 网站建设销售客户疑问福州短视频seo获客
  • 达州网站制作搜索引擎大全排行
  • 内蒙古自治区工程建设网站搜索引擎的网址有哪些
  • 郑州量站站软件开发有限公司免费注册
  • 网站制作的书籍长沙网站制作
  • 外贸网站建站方案信息流广告的特点
  • 闽侯福州网站建设搜狗官方网站
  • 网软志成免费部队网站源码下载广州seo报价
  • 网站建设教程详解搜索引擎优化方法包括
  • 宁德建设银行网站今日新闻头条内容
  • 做单页网站容易排名吗快速提高网站关键词排名优化
  • wordpress电脑访问不了二十个优化
  • 手机网站被禁止访问怎么打开网页seo数据分析
  • 什么网站可以做软件互动营销用在哪些推广上面
  • 广州网站定制开发公司哪家好免费的拓客平台有哪些
  • 企业网站托管代运营什么叫seo网络推广
  • 自己房子做民宿挂什么网站网络营销文案实例
  • 开工作室做网站怎样找资源咸阳网络推广
  • 网站建设流程有哪些视频外链工具
  • 营销网站建设实训总结高级seo招聘