無(wú)縫切換,實(shí)現(xiàn)多廠家大模型高效對(duì)接
1、問(wèn)題介紹
在 AI 技術(shù)迅猛發(fā)展的今天,越來(lái)越多的研發(fā)同學(xué)面臨著眾多大模型選型的挑戰(zhàn)。隨著業(yè)務(wù)需求的多樣化,大家希望能夠逐一對(duì)比和探索不同的大模型,以便選擇最適合的解決方案。然而,不同模型的對(duì)接方式各異,請(qǐng)求格式、參數(shù)解析也各不相同,這給開(kāi)發(fā)者帶來(lái)了不小的困擾。
2、解決方案
由于 OpenAI 的優(yōu)先存在,即后續(xù)大模型都會(huì)考慮 OpenAI 兼容方案,通過(guò)統(tǒng)一的接口設(shè)計(jì),屏蔽了底層模型的差異,使開(kāi)發(fā)者能夠無(wú)縫切換和對(duì)接不同的大模型。
無(wú)論是 OpenAI、Anthropic 還是 Cohere,只需簡(jiǎn)單配置,即可快速接入,大幅降低了開(kāi)發(fā)和維護(hù)成本。
借助這一方案,研發(fā)同學(xué)可以更專注于業(yè)務(wù)邏輯的實(shí)現(xiàn),而無(wú)需為不同模型的適配問(wèn)題頭疼,助你在 AI 的浪潮中游刃有余。
3、示例展示
多說(shuō)無(wú)益,直接上手展示吧~
前期準(zhǔn)備:
1)大模型APIKey -- 自行申請(qǐng)
2)服務(wù)endpoint -- 翻閱各家大模型對(duì)接文檔
3.1 對(duì)接騰訊混元大模型
import os
from openai import OpenAI
model = "hunyuan-turbo"
# 構(gòu)造 client
client = OpenAI(
api_key=os.environ.get("HUNYUAN_API_KEY"), # 混元 APIKey
base_url="https://api.hunyuan.cloud.tencent.com/v1", # 混元 endpoint
)
# 自定義參數(shù)傳參示例
completion = client.chat.completions.create(
model=model,
messages=[
{
"role": "user",
"content": "你好",
},
]
)
print(model, completion.choices[0].message.content)
執(zhí)行輸出:
圖片
3.2 對(duì)接阿里千問(wèn)大模型
import os
from openai import OpenAI
model = "qwen-plus"
# 構(gòu)造 client
client = OpenAI(
api_key=os.environ.get("QIANWEN_API_KEY"), # 千問(wèn) APIKey
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1", # 千問(wèn) endpoint
)
# 自定義參數(shù)傳參示例
completion = client.chat.completions.create(
model=model,
messages=[
{
"role": "user",
"content": "你好",
},
],
)
print(model, completion.choices[0].message.content)
執(zhí)行輸出:
圖片
4、其他問(wèn)題
當(dāng)然,相信有人還有疑問(wèn):我如果想使用流式方式輸出呢?
事實(shí)上,OpenAI 已經(jīng)為我們提供了現(xiàn)成的參考實(shí)現(xiàn),只需稍作調(diào)整即可輕松集成到你的項(xiàng)目中。