Qwen学习笔记3:Qwen模型调用外部API实现模型增强(openai的形式)

前言

本文记录了使用本地部署的Qwen模型,调用外部API实现模型的功能增强,非常的易用,大家用于开发自己的应用,只需要作简单的修改就可以进行使用了。

本文的代码来源视频教程:

Qwen大模型变强了,通过API调用外部工具给Qwen模型有效赋能,ReAct实践,API工具调用_哔哩哔哩_bilibili

(手动敲出来的,呜呜~)

代码实现过程

启动模型

先启动Qwen模型的Openai-api访问的服务:

修改模型路径为本地:

启动api服务

ps:可以看到我先切换到千问的虚拟环境中,且在模型的路径下执行。

主要笔记代码

调用本地部署的模型

# 调用本地部署的Qwen模型
import openai

openai.api_base = 'http://127.0.0.1:8000/v1'
openai.api_key = 'none'

尝试进行通用的对话:

messages = [{'role': 'user', 'content': '你好,请你详细介绍一下你自己。'}]
response = openai.ChatCompletion.create(
    model='Qwen',
    messages=messages,)
response.choices[0].message['content']
'你好!我叫通义千问,是由阿里云自主研发的预训练语言模型。我的目的是通过理解和生成自然语言来帮助人类完成各种任务,如回答问题、提供建议、生成代码、聊天等。\n\n我是基于Transformer架构设计的,拥有大量的文本数据作为训练资源,经过多轮迭代和优化,我已经具备了强大的语言处理能力。我可以理解复杂的语句结构和上下文关系,并能够根据输入的问题或指令生成相应的回复。\n\n在使用过程中,你可以通过简单的文本交互与我进行沟通,我会尽力提供准确、有用的回答。如果你有任何问题或者需要帮助,请随时告诉我,我会尽力为你提供支持。'

可以看到模型能够正确的通过Openai_api进行访问,如果不能访问,按照提示进行相关库的安装即可:

例如我这里缺少这个库:

再次用到之前的例子

先模拟数据库和查询方法

# 用JSON格式模拟数据库j
class CourseDatabase:
    def __init__(self):
        self.database = {
            "大模型技术实战":{
                "课时": 200,
                "每周更新次数": 3,
                "每次更新小时": 2
            },
             "机器学习实战":{
                "课时": 230,
                "每周更新次数": 2,
                "每次更新小时": 1.5
            },
            "深度学习实战":{
                "课时": 150,
                "每周更新次数": 1,
                "每次更新小时": 3
            },
            "AI数据分析":{
                "课时": 10,
                "每周更新次数": 1,
                "每次更新小时": 1
            },
        }
    def course_query(self, course_name):
        return self.database.get(course_name, "目前没有该课程信息")

模拟数据库操作

# 用JSON格式模拟数据库j
class CourseOperations:
    def __init__(self):
        self.db = CourseDatabase()

    def add_hours_to_course(self, course_name, additional_hours):
        if course_name in self.db.database:
            self.db.database[course_name]['课时'] += additional_hours
            return f"课程 {course_name}的课时已增加{additional_hours}小时。"
        else:
            return "课程不存在,无法添加课时"

添加工具库:

### 如何调用 QwenAPI 调用 QwenAPI 可以为开发者提供灵活的方式来访问大模型的能力。以下是关于如何调用 Qwen API 的详细介绍。 #### 调用 Qwen API 的基本流程 为了成功调用 Qwen API,通常需要以下几个步骤: 1. **获取 Access Token**: 需要先申请并获得用于身份验证的 `Access Token`。这一步可以通过登录阿里云账号完成[^3]。 2. **设置请求参数**: 构建 HTTP 请求时,需指定必要的参数,例如输入提示 (`prompt`) 和其他配置选项 (如最大生成长度、温度值等)[^4]。 3. **发送 POST 请求**: 使用标准 RESTful 接口向 Qwen 提交数据,并接收返回的结果。下面是一个简单的 Python 示例代码展示如何实现这一过程: ```python import requests import json def call_qwen_api(prompt, api_key): url = "https://api.qwen.com/v1/completions" headers = { &#39;Authorization&#39;: f&#39;Bearer {api_key}&#39;, &#39;Content-Type&#39;: &#39;application/json&#39; } data = { "model": "qwen-max", # 或者 qwen-turbo 等版本 "messages": [ {"role": "user", "content": prompt}, {"role": "assistant", "content": ""} ], "max_tokens": 50, "temperature": 0.8 } response = requests.post(url, headers=headers, data=json.dumps(data)) result = response.json() return result[&#39;choices&#39;][0][&#39;message&#39;][&#39;content&#39;] # 替换为实际的 API 密钥 api_key = "<your_api_key>" response_text = call_qwen_api("你好!", api_key) print(response_text) ``` 上述脚本展示了如何利用 `requests` 库来构建一个针对 Qwen API 的 POST 请求。注意替换 `<your_api_key>` 为你自己的密钥字符串。 #### 关于费用与配额管理 值得注意的是,在使用过程中应留意账户内的余额情况以及是否有足够的免费额度可用。如果超出限额,则可能涉及额外收费;因此建议提前充值以防中断服务。 #### 开源工具支持 除了直接编写代码外,还有现成的开源项目可以帮助简化操作流程。比如可以参考 GitCode 上托管的一个名为 “Qwen-Free-API” 的仓库,它提供了详细的文档说明和一些实用的功能封装。 --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值