【LLM】LangChain基础使用(构建LLM应用)

这篇具有很好参考价值的文章主要介绍了【LLM】LangChain基础使用(构建LLM应用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

note

  • LangChain应用开发框架,支持python和typescript语言;可以帮助生成prompt模板,并通过代理充当其他组件(如提示模板、其他大语言模型、外部数据和其他工具)的中央接口。
  • LangChain可以直接与 OpenAI 的 text-davinci-003、gpt-3.5-turbo 模型以及 Hugging Face 的各种开源语言模如 Google 的 flan-t5等模型集成。

一、LangChain介绍

  • 为各种不同基础模型提供统一接口
  • 帮助管理提示的框架
  • 一套中心化接口,用于处理长期记忆(参见Memory)、外部数据(参见Indexes)、其他 LLM(参见Chains)以及 LLM 无法处理的任务的其他代理(例如,计算或搜索)。

总的来说,有六大核心模块:

  • Models:从不同的 LLM 和嵌入模型中进行选择
  • Prompts:管理 LLM 输入
  • Chains:将 LLM 与其他组件相结合
  • Indexes:访问外部数据
  • Memory:记住以前的对话
  • Agents:访问其他工具

二、LangChain的应用

1. 集成LLM

# !/usr/bin/python
# -*- coding: utf-8 -*-
import os
from langchain.schema import HumanMessage
from langchain.chat_models import ChatOpenAI
from langchain.llms import OpenAI
from langchain import PromptTemplate
from langchain.chains import LLMChain
from langchain import PromptTemplate, FewShotPromptTemplate

os.environ["OPENAI_API_KEY"] = "..."
os.environ['HUGGINGFACEHUB_API_TOKEN'] = '...'

# # llm initialization, LangChain集成LLM模型
# pip -q install openai langchain huggingface_hub

# llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0)
#
# while True:
#     human_input = input("(human): ")
#     human_input = [HumanMessage(content=human_input)]
#     ai_output = llm(human_input)
#     print(f"(ai): {ai_output.content}")

# 1. model test
llm = OpenAI(model_name='text-davinci-003',
             temperature=0.9,
             max_tokens=1024)

text = "老鼠生病了能吃老鼠药吗?"
print(llm(text)) 
# 不能。老鼠药只能用于驱除和杀死老鼠,不能用于治疗老鼠疾病。如果老鼠生病了,需要求助专业兽医进行治疗。

2. Prompts创建

# 2. prompt generation
restaurant_template = """
我想让你成为一个给新开餐馆命名的顾问。
给我返回一个餐馆名字的名单. 每个餐馆名字要简单, 朗朗上口且容易记住. 它应该和你命名的餐馆类型有关.
关于{restaurant_desription} 这家餐馆好听名字有哪些?
"""
# 创建一个prompt模板
prompt_template = PromptTemplate(
    input_variables=["restaurant_desription"],
    template=restaurant_template
)
description = "一家以婚纱摄影为主题的汉堡店"
description_02 = "一家拉面店,营业员都穿着汉服"
description_03 = "一家能看到海景的烤肉店"
# 查看模板生成的生成的内容。
print(prompt_template.format(restaurant_desription=description))
# 应用prompt模板
chain = LLMChain(llm = llm, prompt = prompt_template)
print(chain.run("一家以婚纱摄影为主题的汉堡店"))

1. 海洋蔚蓝婚纱汉堡
2. 白马婚礼汉堡
3. 幸福煎饼汉堡
4. 唯美烤肉汉堡
5. 爱情芝士汉堡
6. 天使之翼汉堡
7. 星期五婚礼汉堡
8. 情侣奇妙汉堡
9. 时尚恋人汉堡
10. 魅力婚礼汉堡

3. 短语模板

# 3. 短语模板
# 首先创建一个短语示例,该示例包含两组输入和输出,每输入一个词语,LLM就会输出一个对应的反义词
examples = [
    {"输入": "高兴", "输出": "悲伤"},
    {"输入": "高大", "输出": "低矮"},
]
#创建一个prompt模板,
example_prompt = PromptTemplate(
    input_variables=["输入", "输出"],
    template="\n输入: {输入}\n输出: {输出}\n",
)
# 最后我们创建一个短语prompt模板对象
few_shot_prompt = FewShotPromptTemplate(
    # 这些是我们要插入到prompt中的示例
    examples=examples,
    # 将示例插入prompt时,格式化示例的方式。
    example_prompt=example_prompt,
    # 输入变量是用户直接输入的变量
    input_variables=["input"],
    # 前缀变量
    prefix="给出每个输入词语的反义词",
    # 后缀变量
    suffix="输入: {input}\n输出:",
    # 用来连接前缀、示例和后缀的字符串。
    example_separator="\n",
)

# 测试一下短语模板对象
print(few_shot_prompt.format(input="快乐"))

# 在LLM中应用短语模板
from langchain.chains import LLMChain
chain = LLMChain(llm=llm, prompt=few_shot_prompt)

chain.run("善良")
Out[14]: ' 恶毒'
chain.run("肥仔")
Out[15]: ' 瘦子'

【LLM】LangChain基础使用(构建LLM应用)

Reference

[1] 用LangChain构建大语言模型应用
[2] https://blog.langchain.dev/announcing-our-10m-seed-round-led-by-benchmark/
[3] Langchain官方文档:https://python.langchain.com/en/latest/
[4] LangChain与大型语言模型(LLMs)应用基础教程:Prompt模板文章来源地址https://www.toymoban.com/news/detail-439623.html

到了这里,关于【LLM】LangChain基础使用(构建LLM应用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【ChatGPT】使用 LangChain 和 Ray 实现 100 行代码构建 LLM 开源搜索引擎【1】

    目录 Introduction Building the index 构建索引 Accelerating indexing using Ray 使用 Ray 加速索引编制 Serving

    2024年02月08日
    浏览(45)
  • LLM本地知识库问答系统(一):使用LangChain和LlamaIndex从零构建PDF聊天机器人指南

           随着大型语言模型(LLM)(如ChatGPT和GPT-4)的兴起,现在比以往任何时候都更容易构建比普通熊更智能的智能聊天机器人,并且可以浏览堆积如山的文档,为您的输入提供准确的响应。        在本系列中,我们将探索如何使用pre-trained的LLM创建一个聊天机器人,该聊

    2024年02月11日
    浏览(65)
  • LLM之LangChain:LangChain 0.1.0 版本发布的简介、安装和使用方法、案例应用之详细攻略

    LLM之LangChain:LangChain 0.1.0 版本发布的简介、安装和使用方法、案例应用之详细攻略 导读 :2024年1月8日,今天,我们很高兴宣布 发布 langchain 0.1.0 ,这是我们的 第一个稳定版本 。它完全 向后兼容 ,提供了 Python 和 JavaScript 两个版本,并通过功能和文档的双重改进来提高焦点

    2024年01月19日
    浏览(53)
  • ChatGPT 使用 拓展资料:吴恩达大咖 基于LangChain的LLM应用程序开发-1

    ChatGPT 使用 拓展资料:吴恩达大咖 基于LangChain的LLM应用程序开发 基于LangChain的LLM应用程序开发 LangChain for LLM Application Development [https://www.deeplearning.ai/short-courses/langchain-for-llm-application-development/] LangChain for LLM Application Development https://www.deeplearning.ai/short-courses/langchain-for-llm-app

    2024年02月07日
    浏览(53)
  • Langchain+ElasticSearch+文心千帆 构建检索增强LLM Agent

    很早就开始做检索增强的大语言模型Agent了,通过外接知识库为LLM提供外部知识能增强它回答的准确性。这里我们使用ElasticSearch作为数据库存储相关知识,使用百度文心千帆的embedding API提供向量嵌入;借助langchain搭建LLM Agent. 需要安装的环境有: Python, ElasticSearch, langchain, q

    2024年02月04日
    浏览(45)
  • LangChain 完整指南:使用大语言模型构建强大的应用程序

    LangChain 是一个强大的框架,可以简化构建高级语言模型应用程序的过程。 LangChain 是一个强大的框架,旨在帮助开发人员使用语言模型构建端到端的应用程序。它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChai

    2024年01月20日
    浏览(58)
  • LangChain:打造自己的LLM应用

    LangChain是一个框架,用于开发由LLM驱动的应用程序。可以简单认为是LLM领域的Spring,以及开源版的ChatGPT插件系统。核心的2个功能为: 1)可以将 LLM 模型与外部数据源进行连接。 2)允许与 LLM 模型与环境进行交互,通过Agent使用工具。 LangChain提供了各种不同的组件帮助使用

    2024年02月14日
    浏览(41)
  • 基于LangChain的LLM应用开发3——记忆

    此情可待成追忆,只是当时已惘然。我们人类会有很多或美好或痛苦的回忆,有的回忆会渐渐模糊,有的回忆午夜梦醒,会浮上心头。 然而现在的大语言模型都是没有记忆的,都是无状态的,大语言模型自身不会记住和你对话之间的历史消息。根本用不着“时时勤拂拭”,天

    2024年02月08日
    浏览(41)
  • 理论+实践详解最热的LLM应用框架LangChain

    本文分享自华为云社区《LangChain是什么?LangChain的详细介绍和使用场景》,作者:码上开花_Lancer 。 官方定义是:LangChain是一个强大的框架,旨在帮助开发人员使用语言模型构建端到端的应用程序,它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型

    2024年02月05日
    浏览(45)
  • LangChain大型语言模型(LLM)应用开发(五):评估

    LangChain是一个基于大语言模型(如ChatGPT)用于构建端到端语言模型应用的 Python 框架。它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互,将多个组件链接在一起,以便在不同的

    2024年02月15日
    浏览(48)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包