学习笔记:大语言模型与LangChain基础
1. 大语言模型简介
大语言模型(LLM)是利用深度学习技术,尤其是神经网络,来理解和生成人类语言的人工智能模型。这些模型因其庞大的参数数量(数十亿甚至更多)而得名,能够理解和生成复杂的语言模式。
工作原理
- 预测机器:基于“猜词”原理,给定文本开头,预测下一个词。
- 训练数据:利用互联网上的大量文本进行训练。
- 上下文理解:不仅基于统计关系,还包括对上下文的理解。
- 常识认知:有时能体现对世界常识的认知。
局限性
- 非完全理解:模型没有人类的情感、意识或理解力,只是概率模型。
- 错误和偏差:可能会犯错误或生成不合理内容。
2. LangChain简介
LangChain是一个基于大语言模型的应用开发工具,以其灵活性和模块化特性著称,使得处理语言模型变得简单。
特点
- 预构建链:像乐高积木一样,快速构建项目。
- 模块化组件:允许定制和创建功能链条。
- 支持语言:支持Python和JavaScript。
3. 安装LangChain
基本安装
pip install langchain
包括依赖项的安装
pip install langchain[llms]
更新LangChain
pip install --upgrade langchain
从源代码安装
git clone [LangChain仓库地址]
cd LangChain
pip install -e .
4. OpenAI API
OpenAI提供多种模型,包括Chat Model和Text Model,它们的主要区别在于调用方式和输入格式。
注册和API Key
- 注册OpenAI账号,获取API Key。
- 查看模型的费用和使用情况。
模型类型
- Chat Model:用于对话,如gpt-3.5-turbo和GPT-4。
- Text Model:用于文本生成,如text-davinci-003。
5. 调用模型
Text模型调用示例
import os
os.environ["OPENAI_API_KEY"] = '你的Open API Key'
from openai import OpenAI
client = OpenAI()
response = client.completions.create(
model="gpt-3.5-turbo-instruct",
temperature=0.5,
max_tokens=100,
prompt="请给我的花店起个名")
print(response.choices[0].text.strip())
Chat模型调用示例
response = client.chat.completions.create(
model="gpt-4",
messages=[
{"role": "system", "content": "You are a creative AI."},
{"role": "user", "content": "请给我的花店起个名"},
],
temperature=0.8,
max_tokens=60
)
6. LangChain调用模型
Text模型
from langchain.llms import OpenAI
llm = OpenAI(
model="gpt-3.5-turbo-instruct",
temperature=0.8,
max_tokens=60,)
response = llm.predict("请给我的花店起个名")
print(response)
Chat模型
from langchain.chat_models import ChatOpenAI
chat = ChatOpenAI(model="gpt-4",
temperature=0.8,
max_tokens=60)
from langchain.schema import (
HumanMessage,
SystemMessage
)
messages = [
SystemMessage(content="你是一个很棒的智能助手"),
HumanMessage(content="请给我的花店起个名")
]
response = chat(messages)
print(response)
7. 总结与思考
- LangChain的核心价值:封装和简化大模型的使用,提供模块化和预构建链功能。
- HuggingFace开源模型:尝试使用LangChain调用HuggingFace社区中的其他模型。
- 模型类别:大语言模型除了文本生成式模型,还包括如Bert这样的模型,它不是文本生成式的。
8. 延伸阅读
- LangChain官方文档
- OpenAI API官方文档
- HuggingFace官方网站
通过今天的学习,我们了解了大语言模型的基础知识,LangChain的安装和使用,以及如何通过LangChain和OpenAI API调用不同的模型。希望这些知识能帮助你更好地理解和应用大语言模型。