大预言模型是什么
大语言模型是一种人工智能模型,通常使用深度学习技术,比如神经网络,来理解和生成人类语言。这些模型的“大”在于它们的参数数量非常多,可以达到数十亿甚至更多,这使得它们能够理解和生成高度复杂的语言模 式。
你可以将大语言模型想象成一个巨大的预测机器,其训练过程主要基于“猜词”:给定一段文本的开头,它的任务就是预测下一个词是什么。模型会根据大量的训练数据(例如在互联网上爬取的文本),试图理解词语和词组 在语言中的用法和含义,以及它们如何组合形成意义。它会通过不断地学习和调整参数,使得自己的预测越来越准确。
但是,大语言模型并不完全理解语言,它们没有人类的情感、意识或理解力。它们只是通过复杂的数学函数学习到的语言模式,一个概率模型来做预测,所以有时候它们会犯错误,或者生成不合理甚至偏离主题的内容。
LangChain是一个全方位的、基于大语言模型这种预测能力的应用开发工具,它的灵活性和模块化特性使得处理语言模型变得极其简便。不论你在何时何地,都能利用它流畅地调用语言模 型,并基于语言模型的"预测"或者说“推理"能力开发新的应用。
安装 LangChain
有两个版本 python 和 node
pip install langchain
OpenAI API
要继续咱们的LangChain实战课,你需要对OpenAI的API有进一步的了解。因为,LangChain本质上就是对各种大模型提供的API的套 壳,是为了方便我们使用这些API,搭建起来的一些框架、模块和接口。
因此,要了解LangChain的底层逻辑,需要了解大模型的API的基本设计思路。而目前接口最完备的、同时也是最强大的大语言模型,当然是OpenAI提供的GPT家族模型。
调用Text模型
第1步,先注册好你的API Keyo
第2步,用pip install openai命令来安装OpenAI库。
第 3 步,导入 OpenAI API Key。
导入API Key有多种方式,其中之一是通过下面的代码:
import os
os.environ ["ORENAI_API_KEY,,1 ='你的Open API Key'
OpenAI库就会查看名为OPENAI_APLKEY的环境变量,并使用它的值作为API密钥。 也可以像下面这样先导入OpenAI库,然后指定api_key的值。
import openai
openai.api_key = 1 你的Open API Key'
此处 简化下 使用 月之暗面 API key 会赠送 15块钱
platform.moonshot.cn/console/api…
调用 Text 模型
from openai import OpenAI
client = OpenAI(
api_key="你的_MOONSHOT_API_KEY",
base_url="https://api.moonshot.cn/v1",
)
resp = client.chat.completions.create(
model="moonshot-v1-8k", # 也可用其它 moonshot 模型
messages=[
{"role": "user", "content": "请给我的花店起个名字"},
],
temperature=0.8,
max_tokens=60,
)
print(resp.choices[0].message.content)
运行结果
使用 langchain
import os
from langchain_openai import ChatOpenAI
os.environ["MOONSHOT_API_KEY"] = "你的_MOONSHOT_API_KEY"
llm = ChatOpenAI(
model="moonshot-v1-8k",
api_key=os.environ["MOONSHOT_API_KEY"],
base_url="https://api.moonshot.cn/v1",
temperature=0.8,
max_tokens=60,
)
resp = llm.invoke("请给我的花店起个名字")
print(resp.content)
运行
调用 Chat 模型
官网例子
from openai import OpenAI
client = OpenAI(
api_key = "$MOONSHOT_API_KEY",
base_url = "https://api.moonshot.cn/v1",
)
response = client.chat.completions.create(
model="kimi-k2-turbo-preview",
messages=[
{
"role": "system",
"content": "你是 Kimi,由 Moonshot AI 提供的人工智能助手,你更擅长中文和英文的对话。你会为用户提供安全,有帮助,准确的回答。同时,你会拒绝一切涉及恐怖主义,种族歧视,黄色暴力等问题的回答。Moonshot AI 为专有名词,不可翻译成其他语言。",
},
{"role": "user", "content": "你好,我叫李雷,1+1等于多少?"},
],
temperature=0.6,
stream=True,
)
collected_messages = []
for idx, chunk in enumerate(response):
# print("Chunk received, value: ", chunk)
chunk_message = chunk.choices[0].delta
if not chunk_message.content:
continue
collected_messages.append(chunk_message) # save the message
print(f"#{idx}: {''.join([m.content for m in collected_messages])}")
print(f"Full conversation received: {''.join([m.content for m in collected_messages])}")
使用 langchain
pip install langchain langchain-openai openai
import os
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage, SystemMessage
os.environ["MOONSHOT_API_KEY"] = "你的_MOONSHOT_API_KEY"
chat = ChatOpenAI(
model="moonshot-v1-8k",
api_key=os.environ["MOONSHOT_API_KEY"],
base_url="https://api.moonshot.cn/v1",
temperature=0.8,
max_tokens=60,
)
messages = [
SystemMessage(content="你是一个很棒的智能助手"),
HumanMessage(content="请给我的花店起个名"),
]
response = chat.invoke(messages)
print(response.content)