文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

使用LangChain和DeepInfra构建客户支持聊天机器人的操作指南

2024-11-30 08:31

关注

审校 | 重楼

可能在日常的网上互动中遇到过聊天机器人,但有没有考虑底层为这些数字助手提供支持的技术?聊天机器人尤其在客户支持领域)已经成为现代企业的一个力工具,在提高效率的同时改进了客户服务。今天,我们将深入研究LangChainDeepInfra如何使这聊天机器人变得响应迅即、更高效。

聊天机器人的基本组成部分

不妨先了解基础知识——聊天机器人的核心组件有哪些?在开发一个响应迅即又高效的聊天机器人时,三个要素必不可少模型、提示模板(Prompt Template)和记忆。

模型代表了聊天机器人背后的AI大脑,负责理解和响应用户输入。提示模板引导聊天机器人的响应,确保它们的回复紧扣对话主题。最后,记忆保持交互状态,使聊天机器人能够记住过去的对话利用它们来理解当前对话的上下文。

操作指南

现在开始动手吧。我们将逐步介绍使用LangChainDeepInfra构建客户支持聊天机器人的过程。我们假设这个聊天机器人在一家在线服装店“工作”,可以帮助顾客为他们挑选衣服。

DeepInfra拥有其简单的API和可扩展的生产基础设施,使您可以轻松运行主流的AI模型。首先,您需要使用该链接获取DeepInfra API密钥,以便服务进行交互。一旦有了密钥就可以在环境中设置API令牌,如下所示

from getpass import getpass
import os
# Set the DeepInfra API token
DEEPINFRA_API_TOKEN = getpass()
os.environ["DEEPINFRA_API_TOKEN"] = DEEPINFRA_API_TOKEN

接下来,您需要创建LangChain和DeepInfra环境。导入必要的组件DeepInfra模型创建实例比如说,您可以使用像“databricks/dolly-v2-12b这样的模型

from langchain import ConversationChain, LLMChain, PromptTemplate
from langchain.memory import ConversationBufferWindowMemory
from langchain.llms import DeepInfra
# Create the DeepInfra instance
llm = DeepInfra(model_id="databricks/dolly-v2-12b")
llm.model_kwargs = {'temperature': 0.7, 'repetition_penalty': 1.2, 'max_new_tokens': 250, 'top_p': 0.9}

您可以为LLM使用许多不同的模型。这个例子展示了如何使用databricks/dolly-v2-12b模型,但在DeepInfra上还有许多其他模型可供使用。由于选择众多,您可能希望使用像AIModels这样的工具,希望找到可与LangChain结合使用的合适的LLM。您可以随意搜索、过滤和筛选AI模型,以便找到最适合您项目的模型。查看DeepInfra页面,即可找到可供选择的模型。

现在,是时候定义提示模板来指导聊天机器人的响应了。这将确保聊天机器人的响应与上下文和用户的输入保持一致。我尝试了几个不同的模板,要得到一个完美的模板并非易事设计正确提示的过程名为提示工程。最终,我能够重复使用我在Pinecone网站上找到的一个模板

template = """Given the following user prompt and conversation log, formulate a question that would be the most relevant to provide the user with an answer from a knowledge base.
 You should follow the following rules when generating and answer:
 - Always prioritize the user prompt over the conversation log.
 - Ignore any conversation log that is not directly related to the user prompt.
 - Only attempt to answer if a question was posed.
 - The question should be a single sentence.
 - You should remove any punctuation from the question.
 - You should remove any words that are not relevant to the question.
 - If you are unable to formulate a question, respond with the same USER PROMPT you got.

Conversation log: {history}
USER PROMPT: {human_input}
Your response:
"""

prompt = PromptTemplate(
 input_variables=["history", "human_input"], 
 template=template
)

准备好模型和提示模板后,下一步是初始化聊天机器人并设置记忆保持交互的状态。

# Now using DeepInfra with the LLMChain
llm_chain = LLMChain(
llm=llm,
prompt=prompt,
verbose=True,
memory=ConversationBufferWindowMemory(k=2),
)

最后,您现在可以与聊天机器人进行交互了。不妨看一个例子

output = llm_chain.predict(human_input="Hello! What clothes do you recommend I buy to rebuild my summer wardrobe")
print(output)

因而生成的响应推荐一些衣服:

In the context of summer wardrobe recommendations, you should buy your clothes from the following list:
- V-neck T-shirts
- Tank Tops
- Solid Color Swim Shorts
- Swim Shorts
- Skirts
- Cardigans
- Sandals

天机器人中的记忆概念

记忆在聊天机器人中起着至关重要的作用。它有助于维持聊天机器人交互中的上下文和历史记录从而使聊天机器人能够回忆过去的对话并理解当前对话的上下文。这种能力对于创造更人性化的交互从而改善用户体验至关重要。记忆方面的话题有很多文章值得深入研究,建议您看看这篇指南了解更多的信息。

更多参考资料和示例

为了进一步理解,我建议查看Langchain网站上的ChatGPT Clone笔记本、Conversation Memory笔记本和Conversation Agent笔记本等资源。这些资源更深入地介绍了记忆概念,记忆关键概念和记忆示例提供了实用指导。

您还应该查看AIModels.fyi上的其他Langchain指南

DeepInfra还为平台提供了完备的文档,甚至还有一个博客,您可以获取详细的帖子、指南和文章。

结论

使用LangChain和DeepInfra构建面向客户支持的聊天机器人最初可能看起来很复杂,但一旦您了解了基本组件和步骤,整个过程就会变得简单得多。利用这些技术可以显著改进客户服务,提高业务效率,并提高总体客户满意度。将来,这些技术会变得真正大有潜力,预计它们会继续发展并影响客户服务领域。

原文Building a Customer Support Chatbot with LangChain and DeepInfra: A Step-by-Step Guide,作者:Mike Young


来源:51CTO内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯