在 AI 技术迅猛发展的今天,越来越多的研发同学面临着众多大模型选型的挑战。随着业务需求的多样化,大家希望能够逐一对比和探索不同的大模型,以便选择最适合的解决方案。

 

1、问题介绍

在 AI 技术迅猛发展的今天,越来越多的研发同学面临着众多大模型选型的挑战。随着业务需求的多样化,大家希望能够逐一对比和探索不同的大模型,以便选择最适合的解决方案。然而,不同模型的对接方式各异,请求格式、参数解析也各不相同,这给开发者带来了不小的困扰。

 

 

2、解决方案

由于 OpenAI 的优先存在,即后续大模型都会考虑 OpenAI 兼容方案,通过统一的接口设计,屏蔽了底层模型的差异,使开发者能够无缝切换和对接不同的大模型。

无论是 OpenAI、Anthropic 还是 Cohere,只需简单配置,即可快速接入,大幅降低了开发和维护成本。

借助这一方案,研发同学可以更专注于业务逻辑的实现,而无需为不同模型的适配问题头疼,助你在 AI 的浪潮中游刃有余。

 

 

3、示例展示

多说无益,直接上手展示吧~

前期准备:

1)大模型APIKey — 自行申请

2)服务endpoint — 翻阅各家大模型对接文档

3.1 对接腾讯混元大模型

import os
from openai import OpenAI


model = "hunyuan-turbo"


# 构造 client
client = OpenAI(
    api_key=os.environ.get("HUNYUAN_API_KEY"), # 混元 APIKey
    base_url="https://api.hunyuan.cloud.tencent.com/v1", # 混元 endpoint
)


# 自定义参数传参示例
completion = client.chat.completions.create(
    model=model,
    messages=[
        {
            "role": "user",
            "content": "你好",
        },
    ]
)


print(model, completion.choices[0].message.content)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.

执行输出:

图片图片

3.2 对接阿里千问大模型

import os
from openai import OpenAI


model = "qwen-plus"


# 构造 client
client = OpenAI(
    api_key=os.environ.get("QIANWEN_API_KEY"), # 千问 APIKey
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1", # 千问 endpoint
)


# 自定义参数传参示例
completion = client.chat.completions.create(
    model=model,
    messages=[
        {
            "role": "user",
            "content": "你好",
        },
    ],
)


print(model, completion.choices[0].message.content)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.

执行输出:

图片图片

 

4、其他问题

当然,相信有人还有疑问:我如果想使用流式方式输出呢?

事实上,OpenAI 已经为我们提供了现成的参考实现,只需稍作调整即可轻松集成到你的项目。

文章来自:51CTO

Loading

作者 yinhua

发表回复