Chat模型VSText模型| 豆包MarsCode AI刷题

104 阅读4分钟

1. Chat模型的设计更适合处理对话或者多轮次交互的情况 2. 然而,对于简单的单轮文本生成任务,使用Text模型可能会更简单、更直接 详细代码见下 可见有详细注释帮助大家理解

import os

from langchain_openai import ChatOpenAI

from langchain.schema import HumanMessage, SystemMessage

 

os.environ["OPENAI_API_KEY"] = '你的OpenAI API Key'

os.environ["OPENAI_BASE_URL"] = 'OpenAI 的 API URL'

 

chat = ChatOpenAI(model=os.environ.get("LLM_MODELEND"), temperature=0.8, max_tokens=600)  

messages = [

    SystemMessage(content="你是一个很棒的智能助手"),

    HumanMessage(content="请给我的花店起个名"),

]

response = chat(messages)

print(response)

注释

当前代码是一个使用OpenAI的Chat模型进行文本生成的Python脚本。它通过调用OpenAI的API来生成对给定提示的响应。以下是代码的详细解释:

导入必要的模块

python

import os

from langchain_openai import ChatOpenAI

from langchain.schema import HumanMessage, 

SystemMessage

 

这里导入了os模块,用于处理操作系统相关的功能,例如环境变量。同时,还导入了langchain_openai模块中的ChatOpenAI类,这是一个用于与OpenAI的Chat模型进行交互的类。此外,还导入了HumanMessageSystemMessage类,这些类用于构建与模型交互的消息。

设置OpenAI API密钥和基础URL

python

# os.environ["OPENAI_API_KEY"] = '你的OpenAI API 

Key'

# os.environ["OPENAI_BASE_URL"] = 'OpenAI 的 API 

URL'

 

这两行代码被注释掉了,它们原本用于设置OpenAI的API密钥和基础URL。在实际使用时,你需要取消注释这两行,并将 '你的OpenAI API Key' 替换为你的实际API密钥,将 'OpenAI 的 API URL' 替换为OpenAI的API基础URL。

初始化ChatOpenAI模型

python

chat = ChatOpenAI(model=os.environ.get

("LLM_MODELEND"), temperature=0.8, max_tokens=600)

 

这里创建了一个ChatOpenAI实例,使用了环境变量LLM_MODELEND来获取模型名称,设置了温度参数为0.8,这个参数控制了生成文本的随机性,值越高,生成的文本越多样。max_tokens参数限制了生成文本的最大长度。

构建消息列表

 

python

messages = [

    SystemMessage(content="你是一个很棒的智能助手"),

    HumanMessage(content="请给我的花店起个名"),

]

 

这里创建了一个包含两个消息的列表,第一个是系统消息,告诉模型它是一个很棒的智能助手,第二个是人类消息,请求模型为花店起一个名字。

生成文本

python

response = chat(messages)

 

这行代码调用了ChatOpenAI实例的 call 方法,传入了一个消息列表,模型将根据这些消息生成相应的文本。

打印生成的文本

python

 

print(response)

 

最后,使用print函数将生成的文本打印到控制台。

总结来说,这段代码的目的是使用OpenAI的Chat模型生成一段文本,具体内容是根据提示为一个花店起名字。在实际运行时,你需要提供有效的API密钥和基础URL,并确保环境变量设置正确 import os

os.environ["OPENAI_API_KEY"] = '你的Open API Key'

from langchain_openai import OpenAI

llm = OpenAI(

    model="gpt-3.5-turbo-instruct",

    temperature=0.8,

    max_tokens=60,)

response = llm.invoke("请给我的花店起个名")

print(response)

注释

当前代码是一个使用OpenAI的Chat模型进行文本生成的Python脚本。它通过调用OpenAI的API来生成对给定提示的响应。以下是代码的详细解释:

导入必要的模块

python

import os

from langchain_openai import OpenAI

 

这里导入了os模块,用于处理操作系统相关的功能,例如环境变量。同时,还导入了langchain_openai模块中的OpenAI类,这是一个用于与OpenAI的Chat模型进行交互的类。

设置OpenAI API密钥

python

os.environ["OPENAI_API_KEY"] = '你的OpenAI API Key'

 

这行代码设置了OpenAI的API密钥,这是使用OpenAI服务的必要凭证。你需要将 '你的OpenAI API Key' 替换为你的实际API密钥。

初始化OpenAI模型

python

llm = OpenAI(

    model="gpt-3.5-turbo-instruct",

    temperature=0.8,

    max_tokens=60,

)

 

这里创建了一个OpenAI实例,使用了环境变量OPENAI_API_KEY来获取API密钥,设置了模型名称为gpt-3.5-turbo-instruct,温度参数为0.8,这个参数控制了生成文本的随机性,值越高,生成的文本越多样。max_tokens参数限制了生成文本的最大长度。

10. 

生成文本

python  

response = llm.invoke("请给我的花店起个名")

 

这行代码调用了OpenAI实例的invoke方法,传入了一个提示文本 "请给我的花店起个名" ,模型将根据这个提示生成相应的文本。

13. 

打印生成的文本

python

print(response)

 

最后,使用print函数将生成的文本打印到控制台。

总结来说,这段代码的目的是使用OpenAI的Chat模型生成一段文本,具体内容是根据提示为一个花店起名字。在实际运行时,你需要提供有效的API密钥,并确保环境变量设置正确。