随着生成式人工智能(AIGC)的爆发,大模型API已成为开发者手中的利器。本文以Python语言为例,手把手教你注册百度千帆平台、获取文心一言API密钥,并编写代码实现文本生成服务。无论你是AI新手还是资深开发者,都能快速上手。
为何选择文心一言大模型?
AIGC(Artificial Intelligence Generated Content)标志着人工智能从1.0时代迈入2.0时代,其影响深远:短期重塑基础生产力工具,中期改变社会生产关系,长期推动整体生产力质的突破。在这一变革中,数据要素的价值被极度放大,成为时代核心资源。2023年8月31日,百度文心一言正式向全社会开放,为开发者提供了低成本、高可用的生成式AI能力。本文聚焦Python调用文心一言大模型API,实现文本生成式服务。

第一步:注册百度千帆平台账号并创建应用
要使用文心一言API,首先需要拥有百度智能云账号。操作流程如下:
- 注册/登录:访问百度智能云官网(
https://login.bce.baidu.com),支持百度网盘扫码登录,百度产品账号通用。 - 进入控制台:登录后跳转至百度智能云控制台(
https://console.bce.baidu.com/qianfan/overview)。
提示:如果已有百度账号,直接扫码或密码登录即可,无需重复注册。

⚙️ 第二步:开通服务并获取API参数
在控制台左侧菜单选择“应用接入”,点击“创建应用”。填写应用名称和描述,其他选项保持默认(服务默认已勾选)。创建成功后,即可获取三个关键参数:AppID、API Key、Secret Key。这三个参数是后续调用API的“身份证”,务必妥善保管。

第三步:开通付费服务(氪金指南)
文心一言API需要付费使用。百度千帆平台提供多种大模型选择,例如本文选用ERNIE-Bot-turbo——性价比最高的公有云在线调用服务,足以满足多数文本生成需求。进入付费页面后,根据使用量选择合适的套餐并充值。


⚠️ 注意:付费后即可调用API,官方文档提供了完整的大模型对话能力API列表(https://cloud.baidu.com/doc/WENXINWORKSHOP/s/wlmhm7vuo),以及ERNIE-Bot的编程实现指南(https://cloud.baidu.com/doc/WENXINWORKSHOP/s/jlil56u11)。
第四步:Python代码实现文本生成
本次实现采用Python类封装,主要分为两个步骤:
- 获取access_token:用于身份验证。
- 请求大模型API:输入问题,获取生成内容。
百度的access_token默认有效期为30天。因此,获取一次后应缓存以便后续复用,无需每次请求都重新生成。生成access_token的功能由函数实现。get_access_token()
from requests import session
import diskcache as dc
from rich.console import Console
from rich.markdown import Markdown
class YiYan(object):
def __init__(self, appid, ak, sk):
self.appid = appid
self.ak = ak
self.sk = sk
self.s = session()
headers = {
'Content-Type': 'application/json'
}
self.s.headers.update(headers)
self.cache = dc.Cache('./cache')
def get_access_token(self):
key = 'access_token'
if not (access_token := self.cache.get(key)):
response = self.s.post(f'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={self.ak}&client_secret={self.sk}', json='""')
access_token = response.json()['access_token']
self.cache.set(key, access_token, expire=60 * 60 * 24 * 1)
return access_token
def generate_content(self, question):
access_token = self.get_access_token()
url = f"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token={access_token}"
data = {"messages": [{
"role": "user",
"content": question
}]}
response = self.s.post(url, json=data)
result = response.json()['result']
self.print_markdown(result, question)
return result
def print_markdown(self, content, question):
# content = f'## Q: {question} \n\n---\n\n{content}'
markdown_content = Markdown(content)
console = Console()
console.print(markdown_content)
def main():
appid = '12345676'
ak = 'xxxxxxxxxxxx'
sk = 'xxxxxxxxxxxxxxxxxxxxxxxx'
app = YiYan(appid, ak, sk)
question = input('请输入你的问题: ')
app.generate_content(question)
if __name__ == '__main__':
main()
缓存access_token的最佳实践
上述代码在保存时使用了Python第三方库access_token。该库可帮助缓存变量并设置过期时间。当本地缓存中仍存在diskcache时,直接从本地获取;若本地不存在或已过期,则从远程获取并更新缓存。关键代码如下:access_token
if not (access_token := self.cache.get(key)):
response = self.s.post(f'https://xxxxxxxxx')
access_token = response.json()['access_token']
self.cache.set(key, access_token, expire=60 * 60 * 24 * 29)
进阶建议:如果你熟悉Go、Java、JavaScript或TypeScript,也可以将这套缓存逻辑迁移到对应语言中,例如使用Redis或内存缓存实现类似功能。
美化输出:处理Markdown响应
API返回的内容通常是Markdown格式。为了在控制台友好显示,代码中使用了第三方库。该库可以在终端中美观地渲染Markdown内容,关键代码为:rich
markdown_content = Markdown(content)
console = Console()
console.print(markdown_content)
小贴士:库支持语法高亮、表格渲染等,非常适合调试和展示生成结果。rich
️ 运行效果展示
完成上述代码后,运行Python脚本,即可看到文心一言大模型生成的文本内容。以下为实际运行截图:


[AFFILIATE_SLOT_1]
✅ 总结与延伸
本文从注册百度千帆平台开始,详细介绍了如何获取文心一言API密钥、开通付费服务,并通过Python代码实现文本生成。核心步骤包括:获取access_token、调用大模型API、缓存token以提升性能。此外,我们还学习了如何使用和diskcache库优化开发体验。rich
下一步建议:你可以尝试将文心一言API集成到Web应用(如Flask或Django)中,或结合TypeScript、JavaScript构建前端聊天机器人。如果使用Go或Java开发后端服务,同样可以参考本文的缓存逻辑和API调用模式。AIGC的潜力无限,动手实践是最好的学习方式!
[AFFILIATE_SLOT_2]
浙公网安备 33010602011771号