赞
踩
我在今年三月份左右申请了百度文心一言的测试,不久就通过了申请,体验了一段时间,感觉很棒,但是我更希望百度能早一点开放文心一言的API,不用在线去使用。
在7月19日那天,百度智能云给我打电话,问我体验如何,我便咨询了API开放时间,百度的答复是:目前只针对企业开放,个人还需要等些时间。没想到仅仅过了一天,百度智能云的工作人员又给我打了电话,说百度已开放了对个人的API,也就是文心千帆,我很幸运成为了首批测试者。接下来我就针对我的体验和大家聊聊。
百度工作人员给我解释的是:文心千帆是百度训练出来的一个模型,而文心一言生成的内容就来自于这个模型。
官方规范解释是:
文心千帆大模型平台是百度文心大模型的官方和唯一的商业化服务平台。对内及对外统一由文心千帆来提供服务,当前提供文心一言的推理服务、定制微调大模型服务,后续会逐步开放一系列开发和应用工具链。(官方解释)
如果还不理解可以查一下官网。文心一言云服务及相关产品-百度智能云 (baidu.com)
按量计费,以字节进行计算,总之是比较便宜的,而且体验者百度会发20元的代金券,基本不需要花钱。
- import requests
- import json
-
- API_KEY = "填充你应用的API Key"
- SECRET_KEY = "填写你应用的Secret Key"
-
-
- def main():
- url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token=" + get_access_token()
-
- payload = json.dumps({
- "messages": [
- {
- "role": "user",
- "content": "你要询问AI的内容"
- },
-
- ]
- })
- headers = {
- 'Content-Type': 'application/json'
- }
-
- response = requests.request("POST", url, headers=headers, data=payload)
-
- aso = response.text
- result = json.loads(aso)
- print(result['result'])
-
-
- def get_access_token():
- """
- 使用 AK,SK 生成鉴权签名(Access Token)
- :return: access_token,或是None(如果错误)
- """
- url = "https://aip.baidubce.com/oauth/2.0/token"
- params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}
- return str(requests.post(url, params=params).json().get("access_token"))
-
-
- if __name__ == '__main__':
- main()
解释一下:这里需要你填充你的API Key, Secret Key,位置在应用列表里。还需要填充你问AI的问题,也就是它,把问题输进去即可。(这里的role不需要管,它代表角色是用户)
按照示例代码运行,程序返回的结果是字典格式,需要按照我的代码处理一下,处理后再次运行就可以得到想要的结果了。
这里的问题是“你是谁”,
程序运行结果如下
如果你觉得这样不方便,还可以把它做成GUI。
代码如下
- # 学霸小鼠研发团队真心话大冒险项目,你问小鼠真心话,小鼠让你大冒险
- from tkinter import *
- from tkinter import messagebox
- import json
- import requests
-
- API_KEY = "API KEY内容"
- SECRET_KEY = "Secret Key内容"
-
- def main():
- win = Tk()
- win.geometry('600x500+0+0')
- win.title('学霸小鼠研发团队-你问我答')
- win.resizable(False, False)
- win.config(background='light green')
-
- Label(win, text='你问我答', font=('黑体', 20), bg='light green').pack()
- Label(win, text='小鼠Bot(AI)', font=('宋体', 15), bg='light green').pack(pady=10)
- e3 = Text(win, width=55, height=15, relief=FLAT, font=('宋体', 15))
- scrollbary = Scrollbar(win, orient=VERTICAL) # 滚轮初始
-
- scrollbary.pack(fill=Y, side=RIGHT)
- e3.pack()
- scrollbary.config(command=e3.yview)
-
- e3.config(yscrollcommand=scrollbary.set)
- e3.configure(state='disable')
- # e3.configure(state='normal')
- Label(win, text='提问区', font=('宋体', 15), bg='light green').pack(pady=5)
- e5 = Text(win, width=66, height=2, relief=FLAT, font=('楷体', 10))
- e5.place(x=15, y=420)
- def question():
- e3.configure(state='normal')
- e3.delete('1.0', 'end')
- url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token=" + get_access_token()
-
- payload = json.dumps({
- "messages": [
- {
- "role": "user",
- "content": e5.get('1.0', 'end')
- },
-
- ]
- })
- headers = {
- 'Content-Type': 'application/json'
- }
-
- response = requests.request("POST", url, headers=headers, data=payload)
-
- aso = response.text
- result = json.loads(aso)
- e3.insert('1.0', result['result'])
- e3.configure(state='disable')
-
- Button(win, text='提问', bg='blue', fg='white', width=10, height=1, relief=FLAT, command=question).place(x=485, y=420)
-
- Label(win, text='本产品由百度文心千帆的提供服务,作者:学霸小鼠研发团队(复杂问题可能会卡顿,属于正常现象,请耐心等待)', font=('宋体', 8), bg='light green').pack(side='bottom')
-
- win.mainloop()
-
- def get_access_token():
- """
- 使用 AK,SK 生成鉴权签名(Access Token)
- :return: access_token,或是None(如果错误)
- """
- url = "https://aip.baidubce.com/oauth/2.0/token"
- params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}
- return str(requests.post(url, params=params).json().get("access_token"))
-
- if __name__ == '__main__':
- main()
只不过这个程序容易卡,有没有大神指点一下。。。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。