【千帆SDK】千帆 OpenAI 适配器
大模型开发/技术交流
- 文心大模型
- 开源大模型
- 大模型训练
6月25日4603看过
💡学习前小提示
请大家点击链接并加🌟:https://github.com/baidubce/bce-qianfan-sdk
千帆 OpenAI 适配器
对于已经适配 OpenAI 而尚未支持千帆 SDK 的用户,本文提供了一种方法,支持用户0成本从OpenAI迁移到百度文心千帆大模型平台。
整体流程包含:
整体流程包含:
-
在本地使用 qianfan 启动千帆OpenAI适配器
-
编写 OpenAI规范 接口代码,通过调用本地千帆OpenAI适配器,请求千帆大模型平台。
启动千帆 OpenAI 适配器
# import nest_asyncioimport osimport subprocess as sp# 该环境变量用于绕过 OpenAI 对 OpenAI API Key 的检查os.environ["OPENAI_API_KEY"] = "FAKE_KEY"# 需要将 OPENAI 的 API 请求重定向到本地的服务os.environ["OPENAI_BASE_URL"] = "http://127.0.0.1:8001/v1" # 修改为本地 OpenAI API 地址# 以下环境变量供千帆 OpenAI Adapter:# 使用安全认证的access_key/secret_key:os.environ["QIANFAN_ACCESS_KEY"] = "your_access_key"os.environ["QIANFAN_SECRET_KEY"] = "your_secret_key"# 或者应用ak/sk# os.environ["QIANFAN_AK"]="your_app_ak"# os.environ["QIANFAN_SK"]="your_app_sk"# 启动千帆 SDK 的 OpenAI Adapter 服务,用于代理转发指向 OpenAI 的请求,并替换为千帆服务的返回server = sp.Popen("qianfan openai -p 8001", shell=True)# 也可以在终端直接执行qianfan openai -p 8001
INFO: `--no-ignore-system` is not set. System messages will be ignored bydefault since most system messages for openai is not suitable for ERNIE model.OpenAI wrapper server is running at• http://127.0.0.1:8001• http://172.18.167.145:8001Remember to set the environment variables:export OPENAI_API_KEY='any-content-you-want'export OPENAI_BASE_URL='http://172.18.167.145:8001/v1'INFO: Started server process [40058]INFO: Waiting for application startup.INFO: Application startup complete.INFO: Uvicorn running on http://0.0.0.0:8001 (Press CTRL+C to quit)
调用ERNIE文心大模型
from openai import OpenAIclient = OpenAI()completion = client.chat.completions.create(model="ERNIE-3.5-8K",messages=[{'role': 'system', 'content': 'You are a helpful assistant.'},{'role': 'user', 'content': '如何做炒西红柿鸡蛋?'}])print(completion.choices[0].message)
[INFO][2024-06-25 14:47:30.943] oauth.py:228 [t:8344509248]: trying to refresh access_token for ak `rRlk1M***`[INFO][2024-06-25 14:47:31.137] oauth.py:243 [t:8344509248]: sucessfully refresh access_tokenINFO: 127.0.0.1:55075 - "POST /v1/chat/completions HTTP/1.1" 200 OKChatCompletionMessage(content='炒西红柿鸡蛋是一道家常菜,口感鲜美,营养丰富。以下是制作炒西红柿鸡蛋的基本步骤:\n\n所需材料:\n- 西红柿 2-3个\n- 鸡蛋 3-4个\n- 葱 1根\n- 蒜 2-3瓣\n- 盐 适量\n- 白糖 少许(可选)\n- 生抽 少许(可选)\n- 食用油 适量\n\n步骤:\n\n1. **准备材料**:\n - 将西红柿洗净,切成小块。\n - 鸡蛋打入碗中,加少许盐,搅拌均匀。\n - 葱、蒜切碎备用。\n\n2. **炒鸡蛋**:\n - 热锅凉油,待油温微热时,倒入搅拌好的鸡蛋液。\n - 用筷子或铲子轻轻搅拌,使鸡蛋液形成蛋花状,待鸡蛋基本凝固后,盛出备用。\n\n3. **炒西红柿**:\n - 锅中再倒入适量食用油,烧热后放入葱、蒜碎爆香。\n - 加入切好的西红柿块,翻炒至西红柿稍微变软出汁。\n\n4. **调味**:\n - 根据个人口味,加入适量盐、少许白糖(提鲜)和少许生抽(增色)。\n - 翻炒均匀,使西红柿充分吸收调味料。\n\n5. **合炒**:\n - 将之前炒好的鸡蛋倒入锅中,与西红柿一起翻炒均匀。\n - 确保鸡蛋和西红柿充分混合,让鸡蛋吸收西红柿的汤汁。\n\n6. **出锅**:\n - 翻炒均匀后,即可关火出锅。\n - 可以撒上一些葱花作为装饰和提香。\n\n注意事项:\n- 炒鸡蛋时油温不宜过高,以免鸡蛋炒糊。\n- 西红柿炒至稍微变软出汁即可,不要炒得过烂。\n- 调味时可根据个人口味调整盐和糖的用量。\n\n这样一道色香味俱佳的炒西红柿鸡蛋就做好了,希望您会喜欢!', role='assistant', function_call=None, tool_calls=None)
常用模型清单
ERNIE-3.5-8K
ERNIE-4.0-8K
ERNIE-Speed-8K
ERNIE-4.0-8K
ERNIE-Speed-8K
from qianfan import ChatCompletionChatCompletion().models()
{'AquilaChat-7B','BLOOMZ-7B','ChatGLM2-6B-32K','ChatLaw','EB-turbo-AppBuilder','ERNIE 3.5','ERNIE Speed','ERNIE Speed-AppBuilder','ERNIE-3.5-128K','ERNIE-3.5-128K(预览版)','ERNIE-3.5-8K','ERNIE-3.5-8K-0205','ERNIE-3.5-8K-0329','ERNIE-3.5-8K-0613','ERNIE-3.5-8K-Preview','ERNIE-3.5-8K-preview','ERNIE-3.5-preview','ERNIE-4.0-8K','ERNIE-4.0-8K-0104','ERNIE-4.0-8K-0329','ERNIE-4.0-8K-0613','ERNIE-4.0-8K-Latest','ERNIE-4.0-8K-Preview','ERNIE-4.0-8K-Preview-0518','ERNIE-4.0-8K-preview','ERNIE-4.0-preview','ERNIE-Bot','ERNIE-Bot-4','ERNIE-Bot-turbo','ERNIE-Bot-turbo-AI','ERNIE-Character-8K','ERNIE-Character-Fiction-8K','ERNIE-Function-8K','ERNIE-Functions-8K','ERNIE-Lite-8K','ERNIE-Lite-8K-0308','ERNIE-Lite-8K-0922','ERNIE-Lite-8K-0922(原ERNIE-Bot-turbo-0922)','ERNIE-Speed','ERNIE-Speed-128K','ERNIE-Speed-8K','ERNIE-Tiny-8K','Gemma-7B-It','Gemma-7B-it','Llama-2-13B-Chat','Llama-2-70B-Chat','Llama-2-7B-Chat','Meta-Llama-3-70B','Meta-Llama-3-8B','Mixtral-8x7B-Instruct','Qianfan-BLOOMZ-7B-compressed','Qianfan-Chinese-Llama-2-13B','Qianfan-Chinese-Llama-2-70B','Qianfan-Chinese-Llama-2-7B','XuanYuan-70B-Chat-4bit','Yi-34B-Chat'}
评论