LangChain 7 文本模型TextLangChain和聊天模型ChatLangChain

LangChain系列文章

  1. LangChain 实现给动物取名字,
  2. LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字
  3. LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄
  4. LangChain 4用向量数据库Faiss存储,读取YouTube的视频文本搜索Indexes for information retrieve
  5. LangChain 5易速鲜花内部问答系统
  6. LangChain 6根据图片生成推广文案HuggingFace中的image-caption模型

在这里插入图片描述
Chat模型(如ChatGPT)和文本模型(如GPT-3或GPT-4)都是人工智能领域的重要技术,它们分别代表了两种不同的应用方式和功能。

1. Text Model(文本模型)

  • 定义与功能:文本模型专注于理解和生成文本。这些模型在处理、分析和生成自然语言文本方面非常高效。
    • 特点:
    • 多功能性:能够执行多种任务,如文本生成、翻译、摘要、问答等。
    • 大数据训练:通常使用大量文本数据进行训练,以理解广泛的主题和语境。
  • 举例:OpenAI的GPT-3和GPT-4是最知名的文本模型。这些模型通过使用大规模的数据集训练,获得了对自然语言的深入理解。

1.1 Text Model代码实现text_model.py

# 导入Langchain库中的OpenAI模块,该模块提供了与OpenAI语言模型交互的功能
from langchain.llms import OpenAI  # 导入Langchain库中的PromptTemplate模块,用于创建和管理提示模板
from langchain.prompts import PromptTemplate  # 导入Langchain库中的LLMChain模块,它允许构建基于大型语言模型的处理链
from langchain.chains import LLMChain  # 导入dotenv库,用于从.env文件加载环境变量,这对于管理敏感数据如API密钥很有用
from dotenv import load_dotenv  # 导入openai库,以便使用OpenAI提供的API
import openai# 调用load_dotenv函数来加载.env文件中的环境变量
load_dotenv()  # 使用openai库中的Completion.create方法调用GPT-3模型
# 指定模型为text-davinci-003,温度设置为0.5以控制创造性,最大令牌数为100
# 提供的提示是,用于生成公司名称
response = openai.Completion.create(model="text-davinci-003",temperature=0.5,max_tokens=100,prompt="请给我的硅谷AI科技公司起个有创新的名字,可以参考OpenAI,DeepMind,Google,Facebook等等")# 打印响应中的文本,去除首尾的空格
print(response.choices[0].text.strip())

运行代码

zgpeaces-MBP at ~/Workspace/LLM/langchain-llm-app ±(feature/textAndChat) ✗ ❯ python text_model.py
1. MindCore
2. AIForge
3. AIStorm
4. BrainBoost
5. IntelliTech
6. SmartLogic
7. CleverMind
8. AIExplorer
9. CognitiveLogic
10. BrainTech

1.2 TextLangChain 实现

# 导入Langchain库中的OpenAI模块,该模块提供了与OpenAI语言模型交互的功能
from langchain.llms import OpenAI  # 导入Langchain库中的PromptTemplate模块,用于创建和管理提示模板
from langchain.prompts import PromptTemplate  # 导入Langchain库中的LLMChain模块,它允许构建基于大型语言模型的处理链
from langchain.chains import LLMChain  # 导入dotenv库,用于从.env文件加载环境变量,这对于管理敏感数据如API密钥很有用
from dotenv import load_dotenv  # 调用load_dotenv函数来加载.env文件中的环境变量
load_dotenv()  # 使用OpenAI类创建一个名为llm的实例。这个实例配置了用于生成文本的模型参数。
# 模型使用的是"text-davinci-003",这是一个高级的GPT-3模型。
# temperature设置为0.8,这决定了生成文本的随机性和创造性。
# max_tokens设置为60,限制生成文本的最大长度。
llm = OpenAI(model="text-davinci-003",temperature=0.8,max_tokens=60
)# 使用llm实例的predict方法生成文本。这里的输入是一个提示,要求生成一个创新的硅谷AI科技公司的名字,
# 并提供了OpenAI、DeepMind、Google、Facebook等公司作为参考。
response = llm.predict("请给我的硅谷AI科技公司起个有创新的名字,可以参考OpenAI,DeepMind,Google,Facebook等等")# 打印生成的响应文本,去除首尾的空格。
print(response)

运行代码

zgpeaces-MBP at ~/Workspace/LLM/langchain-llm-app ±(feature/textAndChat) ✗ ❯ python text_lang_chain.py1. CleverMinds
2. AIWorker
3. Mindscape
4. IntelliBots
5. AI Thinkers
6. CognitiveCore
7. CreativeMinds
8. QuantumMinds
9. AI Innovators

2. Chat Model(对话模型)

  • 定义与功能:对话模型专注于生成人类风格的对话。这类模型通常被训练来理解和生成自然语言,使它们能够与用户进行互动式对话。
    • 特点:
    • 上下文理解:它们能够记住前面的对话内容,从而在对话中保持连贯性。
    • 多样性应用:广泛应用于客户服务、虚拟助手、娱乐性聊天机器人等。
  • 举例:OpenAI的ChatGPT是一个典型的对话模型。它基于GPT-3.5或GPT-4的架构,增加了对话管理能力,使其能够更流畅地进行长对话。

OpenAI 作为例子

  • 技术发展:OpenAI在这两种模型的发展上都取得了显著成就。它们的模型不仅理解和生成自然语言,还能适应各种复杂的任务和应用。
  • 创新应用:例如,ChatGPT结合了GPT-3或GPT-4的强大文本生成能力和优化的对话管理技术,提供了一种新颖的交互方式。
  • 社会影响:OpenAI的这些模型对社会产生了深远影响,改变了人们与技术的互动方式,同时也引发了关于人工智能伦理和可控性的讨论。
    总的来说,Chat模型和文本模型各有特点,但都在AI领域中扮演着关键角色。OpenAI通过这些模型展示了AI技术的强大潜力和广泛应用前景。

2.1 ChatModel 代码实现chat_model.py

# 导入Langchain库中的OpenAI模块,该模块提供了与OpenAI语言模型交互的功能
from langchain.llms import OpenAI  # 导入Langchain库中的PromptTemplate模块,用于创建和管理提示模板
from langchain.prompts import PromptTemplate  # 导入Langchain库中的LLMChain模块,它允许构建基于大型语言模型的处理链
from langchain.chains import LLMChain  # 导入dotenv库,用于从.env文件加载环境变量,这对于管理敏感数据如API密钥很有用
from dotenv import load_dotenv  # 导入openai库,以便使用OpenAI提供的API
import openai# 调用load_dotenv函数来加载.env文件中的环境变量
load_dotenv()  # 使用OpenAI的ChatCompletion接口创建一个响应。这个接口特别适合生成对话式的内容。
# 模型使用的是"gpt-3.5-turbo",一种适用于快速响应和对话生成的GPT-3.5模型。
response = openai.ChatCompletion.create(model="gpt-3.5-turbo",# messages是一个列表,包含与AI进行交互的信息。# 第一条信息定义了AI的角色,这里它被指定为一个“创意AI”。# 第二条信息是用户输入,要求AI为一家硅谷AI科技公司起一个创新的名字,参考OpenAI, DeepMind等。messages=[{"role": "system", "content": "You are a creative AI."},{"role": "user", "content": "请给我的硅谷AI科技公司起个有创新的名字,可以参考OpenAI,DeepMind,Google,Facebook等等"},],# 设置温度为0.7,控制生成内容的创造性。temperature=0.7,# 设置最大令牌数量为60,限制响应的长度。max_tokens=60
)# 打印从响应中获取的文本内容,去除首尾的空格。
# response是一个字典,其中'choices'包含了生成的内容。
print(response['choices'][0]['message']['content'])# 打印完整的response.choices,以查看所有生成的选项。
print(response.choices)

运行代码

zgpeaces-MBP at ~/Workspace/LLM/langchain-llm-app ±(feature/textAndChat) ✗ ❯ python chat_model.py 
当然!以下是几个有创新的硅谷AI科技公司的命名建议:1. NexusAI
2. SynthetixTech
3. CogniVerse
4. NeuroGenius
5. EvolvAI
6
[<OpenAIObject at 0x1177ee390> JSON: {"index": 0,"message": {"role": "assistant","content": "\u5f53\u7136\uff01\u4ee5\u4e0b\u662f\u51e0\u4e2a\u6709\u521b\u65b0\u7684\u7845\u8c37AI\u79d1\u6280\u516c\u53f8\u7684\u547d\u540d\u5efa\u8bae\uff1a\n\n1. NexusAI\n2. SynthetixTech\n3. CogniVerse\n4. NeuroGenius\n5. EvolvAI\n6"},"finish_reason": "length"
}]

2.2 ChatLangChain 代码实现chat_lang_chain.py

# 导入Langchain库中的OpenAI模块,该模块提供了与OpenAI语言模型交互的功能
from langchain.llms import OpenAI  # 导入Langchain库中的PromptTemplate模块,用于创建和管理提示模板
from langchain.prompts import PromptTemplate  # 导入Langchain库中的LLMChain模块,它允许构建基于大型语言模型的处理链
from langchain.chains import LLMChain  # 导入dotenv库,用于从.env文件加载环境变量,这对于管理敏感数据如API密钥很有用
from dotenv import load_dotenv  # 导入Langchain库中的ChatOpenAI类,用于创建和管理OpenAI聊天模型的实例。
from langchain.chat_models import ChatOpenAI# 调用dotenv库的load_dotenv函数来加载.env文件中的环境变量。
# 这通常用于管理敏感数据,如API密钥。
load_dotenv()  # 创建一个ChatOpenAI实例,配置它使用gpt-3.5-turbo模型,
# 设定温度参数为0.7(控制创造性的随机性)和最大令牌数为60(限制响应长度)。
chat = ChatOpenAI(model="gpt-3.5-turbo",temperature=0.7,max_tokens=60
)# 导入langchain.schema模块中的HumanMessage和SystemMessage类。
# 这些类用于创建符合特定格式的消息,以便ChatOpenAI类能正确处理。
from langchain.schema import (HumanMessage,SystemMessage
)# 创建一个包含两条消息的列表:一条系统消息和一条人类消息。
# 系统消息定义了AI的角色(创意AI),而人类消息包含了用户的请求(为公司起名)。
messages = [SystemMessage(content="You are a creative AI."),HumanMessage(content="请给我的硅谷AI科技公司起个有创新的名字,可以参考OpenAI,DeepMind,Google,Facebook等等")
]# 使用chat实例处理这些消息,并将结果存储在response变量中。
response = chat(messages)# 打印响应内容。
print(response)
zgpeaces-MBP at ~/Workspace/LLM/langchain-llm-app ±(feature/textAndChat) ✗ ❯ python chat_lang_chain.py
content='当然,我可以帮你起一个有创新的硅谷AI科技公司的名字。以下是几个建议:\n\n1. SynapseTech(突触科技):突触是神经元之间'

代码

  • https://github.com/zgpeace/pets-name-langchain/tree/feature/textAndChat

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/209307.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux下流媒体压力测试工具的使用

前言 因为领导要求做linux的推拉流时服务器压力测试&#xff0c;于是在网上找了找。一顿操作下来&#xff0c;发现很多软件盗用一款名为srs-bench的开源软件。 该代码仓库有详细的使用说明&#xff0c;而且可以在issues中找到可能会遇到的问题的解决办法 需要下载该仓库的源…

SpringBoot集成七牛云OSS详细介绍

&#x1f4d1;前言 本文主要SpringBoot集成七牛云OSS详细介绍的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是青衿&#x1f947; ☁️博客首页&#xff1a;CSDN主页放风讲故事 &#x1f304;每日一句&a…

allegro画封装时使用坐标指令无效

使用坐标指令时显示&#xff1a;“Pick is outside the extent of the drawing…pick again” 这是因为你放的引脚已经超出你这个绘制界面的定义尺寸&#xff0c;需要到Setup->Design pararmeters…里面去将图幅改大一点&#xff0c;如下图所示&#xff1a; 然后点击Design…

gRPC 服务注册实现以及原理讲解

一、注册中心 为了高可用&#xff0c;生产环境我们的服务都是以集群的方式对外提供服务&#xff0c;集群的ip随时可能变化&#xff0c;比如重启&#xff0c;发布&#xff0c;扩容等。我们也就需要用一本 “通讯录”去保存和更新服务的节点&#xff0c;而这个通讯录就是注册中心…

使用Python的turtle模块创建一幅哆啦A梦

1.1引言&#xff1a; 在Python中&#xff0c;turtle模块是一个非常有趣且强大的工具&#xff0c;它允许我们以一个可视化和互动的方式学习编程。通过调用各种命令&#xff0c;我们可以引导turtle画出一个指定的图形。在本博客中&#xff0c;我们将使用turtle模块来绘制一幅哆啦…

气候变化和人类活动对中国植被固碳的贡献量化数据月度合成产品

简介&#xff1a; 气候变化和人类活动对中国植被固碳的贡献量化数据月度合成产品包括中国2001~2018年地表短波波段反照率、植被光合有效辐射吸收比、叶面积指数、森林覆盖度和非森林植被覆盖度、地表温度、地表净辐射、地表蒸散发、地上部分自养呼吸、地下部分自养呼吸、总初级…

ts实现合并数组对象中key相同的数据

背景 在平常的业务中&#xff0c;后端同学会返回以下类似的结构数据 // 后端返回的数据结构 [{ id: 1, product_id: 1, pid_name: "Asia", name: "HKG01" },{ id: 2, product_id: 1, pid_name: "Asia", name: "SH01" },{ id: 3, pro…

2023亚太杯数学建模C题思路代码 - 我国新能源电动汽车的发展趋势

1 赛题 问题C 我国新能源电动汽车的发展趋势 新能源汽车是指以先进技术原理、新技术、新结构的非常规汽车燃料为动力来源( 非常规汽车燃料指汽油、柴油以外的燃料&#xff09;&#xff0c;将先进技术进行汽车动力控制和驱动相结 合的汽车。新能源汽车主要包括四种类型&#x…

华大基因认知障碍基因检测服务,助力认知障碍疾病防控

认知障碍是一种严重的神经系统疾病&#xff0c;对人类的脑健康产生了重大影响。据报告显示&#xff0c;在我国65岁以上的人群中&#xff0c;存在轻度认知障碍的患者约为3,800万&#xff0c;而中重度痴呆患者则约为1,500万&#xff0c;患病人口数量庞大。这种疾病不仅会对患者的…

电线电缆行业生产管理怎么数字化?

行业介绍 随着市场环境的变化和现代生产管理理念的不断更新&#xff0c;电缆的生产模式也在发生转变&#xff0c;批量小&#xff0c;规格多&#xff0c;交期短的新型制造需求逐年上升&#xff0c;所以企业车间管理的重要性越发凸显&#xff0c;作为企业良性运营的关键&#xf…

div中添加el-loading(局部loading的使用)

效果&#xff1a;在div中实现el-loading <div class"content-main">{{ hotList }}</div>getHotList(columnType) {this.$nextTick(() > {var loading this.$loading({lock: true,text: "努力加载中...",spinner: "el-icon-loading&qu…

中年人怎么发展?持续发展?

现在ai这么火&#xff0c;就像当年的xxx&#xff0c;如果没有抓住&#xff0c;会xxx吗&#xff1f; 为了ai&#xff0c;多学学python也是也是好的啊。 在学习之余&#xff0c;还是想做做自媒体的。不求马上赚到钱。我的想法是&#xff0c;现在每天下班回家都是刷刷抖音&#…