langchain系列:langchain入门(一分钟搞定对话机器人)

这篇具有很好参考价值的文章主要介绍了langchain系列:langchain入门(一分钟搞定对话机器人)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是langchain

   随着aigc的火热,各大厂商开始提供他们自己的api服务,诸如openai、google、等,还有的直接开源出自己的模型,放到Huggingface提供使用,而LangChain就是一个基于语言模型开发应用程序的框架,它可以很方便的去调用不同公司的api,以及huggingface的资源,为人们提供统一的开发标准,降低开发难度。

langchain的宗旨和特色

   在以上的描述中,不管langchain调用了什么api,它也只能发挥api本身的功能,那langchain的最大特色是什么是?官方表示langchain的最大特色有两点:数据感知(Be data-aware)主动性(Be agentic)

数据感知(Be data-aware)

  将语言模型与其他数据源连接起来,使其能够利用外部数据来增强其知识和理解能力。语言模型可以通过访问和分析结构化数据、非结构化数据、实时数据流等来获取更多信息,以便更好地回答问题、提供准确的信息和指导。

主动性(Be agentic)

  赋予语言模型主动与其环境交互的能力。传统的语言模型通常是被动的,只在接收到输入时生成输出。但是,赋予语言模型主动性意味着它可以主动提出问题、请求进一步的信息或反馈,与用户或环境进行双向的对话和交互。这使得语言模型更加灵活和适应性强,能够更好地满足用户的需求。

lagnchain的组成特征

  以上的描述可以知道,langchain开发了一套统一的开发标注,它提供了三个大的基本功能:

  1. 第三方平台的语言模型的调用功能;
  2. 和其他数据源的交互功能;
  3. 主动发问的功能;

  为了提供以上的功能,langchain以组件化的形式来提供最基础的能力,然后通过链的方式来完成具体的业务实现。

组件

  LangChain提供了模块化抽象,用于处理与语言模型相关的组件。LangChain还提供了这些抽象的多种实现。这些组件其实和scikit-learn是很像的,每一个小组件就是一个独立的功能。我们先大致看一下langchain都有哪一些组件:
langchain系列:langchain入门(一分钟搞定对话机器人),langchain,机器学习,langchain,机器人,人工智能

  • Schema :数据结构相关功能
  • Models :模型相关功能
  • Prompts :模型输入的数据结构功能
  • Indexes :与其他数据交互的功能
  • Memory :通过上下文保持,提供模型记忆功能
  • Chains :将多个组件组合起来,自动化实现某一个业务功能
  • Agents :langchain提供的主动性功能

黑色加粗的就是langchain的特色所在。

链(chains)

  链可以被视为以特定方式组装这些组件,类似于scikit-learn的pipline,他就是依据你具体想要解决的问题,将你想要的组件组装到一起。然后自动化的执行。这个功能是有chains来提供。

案例

下面我们就一步一步的来晚上一个机器人对话系统

# -*- coding: utf-8 -*-

"""
auther : leon
time   : 2023-06-26

"""
from langchain.llms import OpenAI

llm = OpenAI(openai_api_key="sk-9Sjd71sMuHHvKhqUSZmue6vJD",temperature=0.9)
end_pred = llm.predict("What would be a good company name for a company that makes colorful socks?")
print(end_pred)

上面的代码中

  1. 导入OpenAI的库,因为我们要调用chatgpt 的api
  2. 创建语言模型OpenAI的模型,这里最主要是就是指定openai_api_key的参数,这个key是你注册了openai之后,然后在https://platform.openai.com/account/api-keys去生成的一个key。
  3. 调用模型的predict方法

注:我的key已经被我删掉部分信息,你需要用你的key,同时要科学上网。

添加for循环

# -*- coding: utf-8 -*-

"""
auther : leon
time   : 2023-06-26

"""
from langchain.llms import OpenAI

llm = OpenAI(openai_api_key="sk-9Sjd71sMu7A8OSAHHqZmue6vJD", temperature=0.9)

while True:
    user_input = input("Enter your input (or 'q' to quit): ")
    if user_input.lower() == "q":
        break

    end_pred = llm.predict(user_input)
    print(end_pred)

这就是一个最初版的对话机器人,在这机器人中我们并没有用到prompt模块,也没用schema、chains、agent。后续再细细讲解。文章来源地址https://www.toymoban.com/news/detail-692456.html

到了这里,关于langchain系列:langchain入门(一分钟搞定对话机器人)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 手搓GPT系列之 - chatgpt + langchain 实现一个书本解读机器人

    ChatGPT已经威名远播,关于如何使用大模型来构建应用还处于十分前期的探索阶段。各种基于大模型的应用技术也层出不穷。本文将给大家介绍一款基于大模型的应用框架:langchain。langchain集成了做一个基于大模型应用所需的一切。熟悉java web应用的同学们应该十分熟悉spring

    2024年02月05日
    浏览(32)
  • LangChain入门(四)-构建本地知识库问答机器人

    在这个例子中,我们会介绍如何从我们本地读取多个文档构建知识库,并且使用 Openai API 在知识库中进行搜索并给出答案。 目录 一、安装向量数据库chromadb和tiktoken 二、使用案例 三、embeddings持久化 四、在线的向量数据库Pinecone 一、安装向量数据库chromadb和tiktoken    其中h

    2024年02月05日
    浏览(30)
  • Transformers实战(二)快速入门文本相似度、检索式对话机器人

    文本匹配 是一个较为宽泛的概念,基本上只要涉及到两段文本之间关系的,都可以被看作是一种文本匹配的任务, 只是在具体的场景下,不同的任务对匹配二字的定义可能是存在差异的,具体的任务场景包括文本相似度计算、问答匹配、对话匹配、文本推理等等,另外,如

    2024年01月21日
    浏览(32)
  • LangChain入门(五)-使用GPT3.5模型构建油管频道问答机器人

    目录 一、安装依赖 二、使用示例  一、安装依赖 二、使用示例  结尾、扫一扫下方微信名片即可+博主徽信哦  ↓↓ ↓↓ ↓↓ ↓↓ ↓↓ ↓↓ ↓↓ ↓↓  ↓↓↓

    2024年02月11日
    浏览(31)
  • LLMs之RAG:基于LangChain框架利用ChatGPT的API实现一个与在线网页交互的对话机器人—五大思路步骤—加载文档WebBaseLoader网址文件→文档分割(chunk_size=50

    LLMs之RAG:基于LangChain框架利用ChatGPT的API实现一个与在线网页交互的对话机器人—五大思路步骤—加载文档WebBaseLoader网址文件→文档分割(chunk_size=500)→文本嵌入化(OpenAIEmbeddings)并存储到向量库(Chroma)→构造Prompt(拉取一个对象并将其返回为 LangChain对象)→定义LLMs(ChatOpenAI)→输入

    2024年02月08日
    浏览(39)
  • OpenAI开发系列(六):Completions模型的工作原理及应用实例(开发多轮对话机器人)

    授权声明: 本文基于九天Hector的原创课程资料创作,已获得其正式授权。 原课程出处:九天Hector的B站主页,感谢九天Hector为学习者带来的宝贵知识。 请尊重原创,转载或引用时,请标明来源。 全文共7000余字,预计阅读时间约15~30分钟 | 满满干货(附代码),建议收藏! 本文

    2024年02月13日
    浏览(28)
  • 【对话机器人】开源机器人项目介绍

    目录 1. 闲聊机器人介绍 2. 青云客平台 3. 思知项目 闲聊机器人是一种基于人工智能和自然语言处理技术的智能对话系统,旨在模拟人类的语言交流能力,与用户进行自然、连贯的对话。闲聊机器人能够理解用户的问题或指令,通过分析和处理文本,生成符合语法和语义规则的

    2024年02月11日
    浏览(44)
  • LangChain + Streamlit + Llama:将对话式AI引入本地机器

    推荐:使用 NSDT场景编辑器 助你快速搭建可二次编辑的3D应用场景 大型语言模型 (LLM) 是指能够生成与人类语言非常相似的文本并以自然方式理解提示的机器学习模型。这些模型使用包括书籍、文章、网站和其他来源在内的广泛数据集进行训练。通过分析数据中的统计模式

    2024年02月11日
    浏览(26)
  • 最新ChatGPT GPT-4 NLU实战之智能多轮对话机器人(附ipynb与python源码及视频)——开源DataWhale发布入门ChatGPT技术新手从0到1必备使用指南手册(七)

    智能多轮对话机器人 是一种可以自主进行多轮对话的机器人系统,具有高度的交互性和可用性。智能多轮对话机器人旨在通过模拟人类对话方法来实现与用户之间更加自然和有效的沟通。然而,由于自然语言的复杂性和多变性,使得该技术面临巨大的挑战。 当前,基于大预

    2024年02月12日
    浏览(44)
  • 用LangChain开源框架实现知识机器人

    Large Language Models (LLMs)在2020年OpenAI 的 GPT-3 的发布而进入世界舞台 。从那时起,他们稳步增长进入公众视野。 众所周知 OpenAI 的 API 无法联网,所以大家如果想通过它的API实现联网搜索并给出回答、总结 PDF 文档、基于某个 Youtube 视频进行问答等等的功能肯定是无法实现的。所

    2024年02月15日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包