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

探索 LangChain: 架构、组件和应用

介绍每个组件及其用途:

1. Model

Model 组件是 LangChain 的核心,它抽象并提供了大语言模型(LLM)的接口。

LLM 模型
  • 用途:提供与多种 LLM 供应商的接口,如 OpenAI、Google PaLM2 等。
  • 示例:
from langchain.llms import OpenAI

openai_llm = OpenAI(model_name="gpt-3.5-turbo")
response = openai_llm({
   "prompt": "What is the capital of France?"})
print(response["choices"][1]["text"])  # 输出: The capital of France is Paris.
ChatModel
  • 用途:专门为聊天场景设计,接受多轮对话历史作为输入。
  • 示例:
from langchain.chat_models import ChatGPTMessage
from langchain.llms import ChatGPT

messages = [
    ChatGPTMessage(role="system", content="You are a helpful assistant."),
    ChatGPTMessage(role="user", content="How can I learn Python?"),
    ChatGPTMessage(role="assistant", content="To learn Python, start with online tutorials like Codecademy or DataCamp. Practice regularly and work on small projects.")
]

chat_gpt = ChatGPT()
response = chat_gpt(messages + [ChatGPTMessage(role="user", content="What's next after mastering basics?")])
print(response.choices[1].message.content)  # 输出: After mastering the basics, focus on advanced topics like decorators, generators, and asynchronous programming.
设置参数
  • 用途:允许调整 LLM 的行为,如设置温度、最大输出长度等。
  • 示例:
from langchain.llms import OpenAI

openai_llm = OpenAI(model_name="gpt-3.5-turbo", temperature=0.7, max_tokens=100)
response = openai_llm({
   "prompt": "Generate a short story about AI."})
print(response["choices"][1]["text"])

2. Prompt Template

Prompt Template 用于管理和生成提示文本。

静态模板
  • 用途:提供预定义的固定提示格式。
  • 示例:
from langchain.prompts import PromptTemplate

template = PromptTemplate(input_variables=["name"], template="Hello {name}! How are you today?")
prom

http://www.kler.cn/a/324670.html

相关文章:

  • 传奇996_24——变量lua
  • Go八股(Ⅵ)Goroutine 以及其中的锁和思想
  • Spring中的Bean
  • 【大数据】MySQL与Elasticsearch的对比分析:如何选择适合的查询解决方案
  • 让空间计算触手可及,VR手套何以点石成金?
  • STM32单片机CAN总线汽车线路通断检测
  • 【CSS in Depth 2 精译_039】6.3 CSS 定位技术之:相对定位(上)
  • WPF一个控件根据另一个控件的某种状态的改变从而改变自身某种状态
  • 机械键盘驱动调光DIY--【DAREU】
  • Makefile编程:4种赋值差异
  • Python爬虫lxml模块安装导入和xpath基本语法
  • 计算机毕业设计 校运会管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • ssm模糊知识点整合
  • Java | Leetcode Java题解之第442题数组中重复的数据
  • 滚雪球学MySQL[3.1讲]: 高级SQL查询
  • leetcode_015_三数之和解析
  • Python集成测试详解
  • 工业边缘计算网关和普通网关的区别-天拓四方
  • python基础语法--顺序结构
  • SpringCloud源码:客户端分析(一)- SpringBootApplication注解类加载流程
  • 工业缺陷检测——Windows 10本地部署AnomalyGPT工业缺陷检测大模型
  • naocs注册中心,配置管理,openfeign在idea中实现模块间的调用,getway的使用
  • Python爬虫bs4的基本使用
  • Android平台如何获取CPU占用率和电池电量信息
  • Unity 与虚幻引擎对比:两大游戏开发引擎的优劣分析
  • 【工具变量】无废城市试点DID数据集(2000-2023)