文章目录
[AI 大模型] 百度 文心一言
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0DwAIh0T-1720667576892)(https://i-blog.csdnimg.cn/direct/283919e5d78b4951ba1ade5dcfcb9cea.png#pic_center)]
简介
**百度文心一言(ERNIE Bot)**是百度推出的全新一代知识增强大语言模型,旨在通过与人对话互动、回答问题和协助创作,帮助用户高效便捷地获取信息、知识和灵感。
文心一言融合了数万亿数据和数千亿知识,具备强大的知识增强、检索增强和对话增强能力。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v3fx7hgi-1720667576896)(https://i-blog.csdnimg.cn/direct/f2ba2c15d0c946a4be823e1200c90025.jpeg#pic_center)]
模型架构
文心一言基于百度的飞桨深度学习平台和文心知识增强大模型,采用了增强的 Transformer 架构。
其核心技术包括:
- 知识增强:通过融合大规模知识图谱,提升模型的知识理解和推理能力。
- 检索增强:结合实时检索技术,确保生成内容的准确性和时效性。
- 对话增强:优化对话生成和理解能力,使模型能够更自然地与用户互动。
此外,文心一言还采用了有监督精调、人类反馈强化学习(RLHF)和提示技术,进一步提升了模型的性能和安全性。
发展
文心一言 的发展历程可以追溯到 2019 年 3 月,百度发布了首个知识增强大模型 ERNIE 1.0。此后,百度不断迭代升级,推出了 ERNIE 2.0、ERNIE 3.0 和 ERNIE 3.5 等版本。
2023 年 3 月,百度正式发布了文心一言,并在 2023 年 8 月全面向公众开放。
截至 2024 年 4 月,文心一言的用户数已超过 2 亿,API 日均调用量突破 2 亿。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p9IBTePN-1720667576897)(https://i-blog.csdnimg.cn/direct/72ec32ba834b480bb3bebcc3c2d0136e.jpeg#pic_center)]
新技术和优势
- 多模态能力:文心一言能够处理文本、图像、音频等多种数据类型,提供高质量的多模态输出。
- 高效架构:采用增强的 Transformer 和知识图谱技术,使得文心一言在训练和推理过程中更加高效。
- 长上下文理解:文心一言支持长达 30,000 个 token 的上下文窗口,显著提升了模型在长文本处理中的表现。
- 灵活性:文心一言提供了多种尺寸和配置,能够在从数据中心到边缘设备的各种环境中高效运行。
- 广泛应用:文心一言已经被多个行业的企业采用,用于构建自定义生成式 AI 模型,提升了企业的创新能力和竞争优势。
API 代码示例
以下是如何使用文心一言 API 进行开发的示例:
示例 1:文本生成
python
import requests
import json
# 获取 access_token
def get_access_token(api_key, secret_key):
url = "https://aip.baidubce.com/oauth/2.0/token"
params = {
"grant_type": "client_credentials",
"client_id": api_key,
"client_secret": secret_key
}
response = requests.post(url, params=params)
return response.json().get("access_token")
# 文本生成请求
def generate_text(prompt, max_tokens, api_key, secret_key):
access_token = get_access_token(api_key, secret_key)
url = f"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token={access_token}"
payload = json.dumps({
"messages": [{"role": "user", "content": prompt}],
"max_tokens": max_tokens
})
headers = {'Content-Type': 'application/json'}
response = requests.post(url, headers=headers, data=payload)
return response.json()
# 示例调用
api_key = "YOUR_API_KEY"
secret_key = "YOUR_SECRET_KEY"
prompt = "写一篇关于人工智能未来发展的文章。"
response = generate_text(prompt, 150, api_key, secret_key)
print(response['result'])
示例 2:对话生成
python
import requests
import json
# 获取 access_token
def get_access_token(api_key, secret_key):
url = "https://aip.baidubce.com/oauth/2.0/token"
params = {
"grant_type": "client_credentials",
"client_id": api_key,
"client_secret": secret_key
}
response = requests.post(url, params=params)
return response.json().get("access_token")
# 对话生成请求
def generate_conversation(messages, api_key, secret_key):
access_token = get_access_token(api_key, secret_key)
url = f"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token={access_token}"
payload = json.dumps({"messages": messages})
headers = {'Content-Type': 'application/json'}
response = requests.post(url, headers=headers, data=payload)
return response.json()
# 示例调用
api_key = "YOUR_API_KEY"
secret_key = "YOUR_SECRET_KEY"
messages = [
{"role": "system", "content": "你是一个乐于助人的助手。"},
{"role": "user", "content": "你好!"}
]
response = generate_conversation(messages, api_key, secret_key)
print(response['result'])
示例 3:情感分析
python
import requests
import json
# 获取 access_token
def get_access_token(api_key, secret_key):
url = "https://aip.baidubce.com/oauth/2.0/token"
params = {
"grant_type": "client_credentials",
"client_id": api_key,
"client_secret": secret_key
}
response = requests.post(url, params=params)
return response.json().get("access_token")
# 情感分析请求
def analyze_sentiment(text, api_key, secret_key):
access_token = get_access_token(api_key, secret_key)
url = f"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token={access_token}"
payload = json.dumps({"messages": [{"role": "user", "content": text}]})
headers = {'Content-Type': 'application/json'}
response = requests.post(url, headers=headers, data=payload)
return response.json()
# 示例调用
api_key = "YOUR_API_KEY"
secret_key = "YOUR_SECRET_KEY"
text = "我今天感觉非常开心!"
response = analyze_sentiment(text, api_key, secret_key)
print(response['result'])
百度文心一言的推出标志着 AI 技术的又一次飞跃,为开发者和企业提供了强大的工具,推动了 AI 应用的广泛普及和创新。