前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >聆思大模型AI套件与智谱AI结合使用

聆思大模型AI套件与智谱AI结合使用

原创
作者头像
IT蜗壳-Tango
发布2024-04-24 23:26:21
1410
发布2024-04-24 23:26:21
举报
文章被收录于专栏:机器学习

前段时间拿到了一个AI套件的试用,最近正好赶上智谱也有免费TOKEN的活动,就打算看看两者结合起来效果如何。 今天只是简单的一个流程上的POC,如果需要详细的教程欢迎大家持续关注。

1. 创建本地智谱AI应用

安装SDK

代码语言:javascript
复制
pip install zhipuai

安装好SDK我们可以写一个方法,用于检测出我需要的实例,例如我输入:你能帮我查询2024年5月1日从无锡到漠河的火车票吗?

需要它返回类似下面的内容,方便我们其他的脚本进行执行:

代码语言:javascript
复制
{"date":"2024-01-01","departure":"无锡","destination":"漠河"}

代码示例如下:

代码语言:javascript
复制
from zhipuai import ZhipuAI

client = ZhipuAI(api_key="API_KEY") # 请填写您自己的APIKey

response = client.chat.completions.create(
    model="glm-4", # 填写需要调用的模型名称
    messages = [
        {
            "role": "user",
            "content": "你能帮我查询2024年5月1日从无锡到漠河的火车票吗?"
        }
    ],
    tools = [
        {
            "type": "function",
            "function": {
                "name": "query_train_info",
                "description": "根据用户提供的信息,查询对应的车次",
                "parameters": {
                    "type": "object",
                    "properties": {
                        "departure": {
                            "type": "string",
                            "description": "出发城市或车站",
                        },
                        "destination": {
                            "type": "string",
                            "description": "目的地城市或车站",
                        },
                        "date": {
                            "type": "string",
                            "description": "要查询的车次日期",
                        },
                    },
                    "required": ["departure", "destination", "date"],
                },
            }
        }
    ],
    tool_choice="auto",
)
print(response.choices[0].message)

为了能让聆思开发套件生成同样格式的请求,我需要创建一个聆思的应用

2. 创建聆思应用

我们先简单的编排一下,测试一下环境

点击右上角的部署后,我们可以在首页拿到我们的测试连接

接下来我们创建一个Python脚本进行测试

可以看到,环境目前没有什么问题,剩下的就是如何将聆思和智谱合起来用了

我们稍微修改一下代码

代码语言:javascript
复制
class TangoAI:
    def __init__(self):
        self.ls_token = "聆思的Token"
        self.ls_app_key = "聆思的APP ID"
        self.zp_api_key = "智谱AI的key"
        self.ls_url = f"https://service.listenai.com/{self.ls_app_key}/app-service/chat/completions"
        self.client = ZhipuAI(api_key=self.zp_api_key )

    def get_ls_response(self, content):
        header = {
            "Content-Type": "application/json",
            "Authorization": f"Bearer {self.ls_token}"
        }
        data = {
            "messages": [
                {
                    "role": "user",
                    "content": content
                }
            ]
        }
        req = requests.post(self.ls_url, headers=header, data=json.dumps(data))
        req.encoding = "utf-8"
        if req.status_code == 200:
            return req.json()["messages"]

    def get_zp_data(self, messages):
        response = self.client.chat.completions.create(
        model="glm-4", # 填写需要调用的模型名称
        messages = messages,
        tools = [
            {
                "type": "function",
                "function": {
                    "name": "query_train_info",
                    "description": "根据用户提供的信息,查询对应的车次",
                    "parameters": {
                        "type": "object",
                        "properties": {
                            "departure": {
                                "type": "string",
                                "description": "出发城市或车站",
                            },
                            "destination": {
                                "type": "string",
                                "description": "目的地城市或车站",
                            },
                            "date": {
                                "type": "string",
                                "description": "要查询的车次日期",
                            },
                        },
                        "required": ["departure", "destination", "date"],
                    },
                }
            }
        ],
        tool_choice="auto",
    )
        return response.choices[0].message

我们可以看到数据有被正确的获取出来。

如果是我们本地这么玩是没有什么问题的,但是我们希望能将它发布到网上,这样只要我们的开发套件联网,就能使用这一个功能,因此我们需要将上面的POC代码重新拆分一下。

我们通过Django将智谱的项目部署到腾讯云上,然后在聆思APP上,通过request的模块访问我们的API接口,从而完成需求

Django搭建的部分我这里暂时省略,需要的话后期出一个完整教程,本次的测评文章中就不再赘述了。

验证返回结果:

这样我们的项目就算是改造完成了,接下来就要将这个项目烧录到开发套件中。

这篇文章暂时和大家先介绍一下思路,下一篇文章我们一起实现一下。看看最终效果如何,敬请期待。

我是Tango,一个热爱分享技术的程序猿我们下期见。

---

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 创建本地智谱AI应用
  • 2. 创建聆思应用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档