YuanBao-Free-API

YuanBao-Free-API 是一个允许您通过 OpenAI 兼容接口访问腾讯元宝大模型的服务。该项目包含服务端和客户端两部分,可以让您轻松地将腾讯元宝大模型集成到您的应用中。

功能特点

  • 提供 OpenAI 兼容的 API 接口
  • 支持多种元宝模型(deepseek-v3, deepseek-r1, hunyuan 等)
  • 支持流式输出(Streaming)
  • 支持网络搜索功能
  • 简单易用的客户端示例

注意事项

  • 本项目仅供学习和研究使用
  • 请遵守腾讯元宝的使用条款和条件
  • hy_token 有时效性,过期后需要重新获取

安装

  1. 克隆仓库
git clone https://github.com/chenwr727/yuanbao-free-api.git
cd yuanbao-free-api
  1. 安装依赖
pip install -r requirements.txt

使用方法

启动服务端

本地部署
python app.py

服务将在 http://localhost:8000 启动。

Docker 部署
构建镜像
docker build -t yuanbao-free-api .
运行容器
docker run -d -p 8000:8000 --name yuanbao-api yuanbao-free-api

客户端

参数获取
  • hy_useragent_idhy_token(用于认证)需要从元宝网站获取。

在这里插入图片描述

  1. 登录 腾讯元宝网站
  2. 打开浏览器开发者工具(F12)
  3. 在网络请求中找到对话请求,查看请求头中的 Cookie
  4. 从 Cookie 中提取 hy_userhy_token
  5. 从请求中提取 agent_id
使用 OpenAI SDK 调用
from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8000/v1/", # 替换为服务端地址
    api_key="your_hy_token",  # 替换为 hy_token 
)

response = client.chat.completions.create(
    model="deepseek-r1-search",  # 支持的模型见 const.py
    messages=[{"role": "user", "content": "你是谁"}],
    stream=True,
    extra_body={
        "hy_source": "web",
        "hy_user": "your_hy_user",  # 替换为 hy_user
        "agent_id": "your_agent_id",  # 替换为 agent_id
        "chat_id": "your_chat_id",  # 可选,如果不提供会自动创建
        "should_remove_conversation": False,  # 是否在对话结束后删除会话
    },
)

for chunk in response:
    print(chunk.choices[0].delta.content or "")

支持的模型

目前支持以下模型:

  • deepseek-v3:深度求索 V3 模型
  • deepseek-r1:深度求索 R1 模型
  • deepseek-v3-search:带搜索功能的深度求索 V3 模型
  • deepseek-r1-search:带搜索功能的深度求索 R1 模型
  • hunyuan:腾讯混元模型
  • hunyuan-t1:腾讯混元 T1 模型
  • hunyuan-search:带搜索功能的腾讯混元模型
  • hunyuan-t1-search:带搜索功能的腾讯混元 T1 模型
好的,我现在需要处理用户的问题,关于如何使用Python API上传数据集的示例。用户提供的代码示例使用了yuanbao_ai库的Dataset.upload方法,但根据提供的搜索结果,可能没有直接对应的网页。因此,我需要根据现有的搜索结果来推断可能的实现方式,并引用相关的网页。 首先,查看用户的问题,他们希望得到一个典型的数据上传示例,假设平台支持Python API。用户给出的代码示例中,使用了Dataset.upload方法,但搜索结果中没有提到yuanbao_ai库,所以可能需要参考其他网页中的文件上传方法。 接下来,我需要查看所有相关的搜索结果,找到与文件上传相关的部分。例如,网页[2]提到了Orchestra Python API的upload_attachment方法,网页[6]、[7]、[8]都涉及使用Python上传文件到服务器的方法,特别是使用requests库。网页[5]提到了FastAPI处理文件上传的示例,而网页[4]则介绍了使用Flask构建API的方法。 用户的问题可能更倾向于使用requests库来实现文件上传,因为这是最常见的方法。网页[6]和[8]详细介绍了使用requests.post方法上传文件,其中网页[8]还提到了分块上传和异常处理,这可能对用户有帮助。此外,网页[2]中的upload_attachment方法虽然属于特定API,但展示了上传文件的一般步骤,可以作为参考。 需要确认的是,用户提供的代码示例中的Dataset.upload方法可能封装了requests库的调用,因此可以建议用户参考使用requests库的标准方法,并引用相关网页。例如,网页[6]中的示例代码展示了如何使用requests.post上传文件,而网页[8]提供了更高级的技巧,如分块上传和重试机制。 因此,回答中应该包含使用requests库上传文件的基本示例,并引用网页[6]和[8]作为来源。同时,可以提到其他方法如使用paramiko(网页[6])或FastAPI(网页[5]),但主要推荐requests库,因为它更通用且网页支持更全面。 最后,确保在答案中正确标注引用来源,使用[num]格式,并检查是否有遗漏的关键点,如文件路径处理、异常处理等,这些在网页[6]、[7]、[8]中都有涉及。 以下是基于Python API实现数据上传的典型示例及技术要点说明,结合多篇网页的最佳实践整理: # 使用标准requests库实现文件上传(推荐方式) import requests def upload_dataset(file_path, description): url = "https://api.example.com/datasets/upload" # 替换实际API端点 files = {'file': ('football_matches.csv', open(file_path, 'rb'), 'text/csv')} data = {'description': description} try: response = requests.post( url, files=files, data=data, headers={'Authorization': 'Bearer YOUR_ACCESS_TOKEN'} # 根据实际需求添加认证信息 ) response.raise_for_status() # 自动抛出HTTP错误 return response.json() # 解析JSON响应 except requests.exceptions.RequestException as e: print(f"上传失败: {str(e)}") return None # 调用示例 upload_dataset("football_matches.csv", "2015-2021赛季赛事数据,包含赔率、胜负平结果等20个特征") 关键实现要点解析: 1. 文件上传核心方法 • 使用requests.post方法,通过files参数传递文件对象,data参数传递附加字段 • 文件对象需以二进制模式打开('rb'),避免编码问题 • 建议显式指定MIME类型(如text/csv),提升兼容性 2. 异常处理机制 • 通过raise_for_status()自动捕获HTTP错误状态码(如4xx/5xx) • 使用try-except块捕获网络异常,建议添加重试逻辑(参考指数退避算法) 3. 进阶优化方案 • 大文件分块上传:使用requests_toolbelt.MultipartEncoder实现流式传输,避免内存溢出 • 多文件混合上传:通过元组列表构建复合表单数据(如[('images', ('file1.jpg', f1), 'image/jpeg'), ...]) • 服务端验证绕过:通过自定义请求头协商特殊传输模式(需与服务端约定) 4. 安全注意事项 • 文件名需进行URL编码处理,防止特殊字符导致的问题 • 敏感操作建议启用HTTPS,避免明文传输认证信息 • 定期检查API速率限制,避免触发服务端防护机制 扩展方案参考: • 使用paramiko库通过SSH/SFTP协议上传文件(适合私有化部署环境) • 基于FastAPI框架构建文件上传接口服务(需定义UploadFile类型参数) • 使用Flask实现RESTful API服务接收文件(参考路由装饰器与请求解析) 建议根据实际平台API网页调整参数格式,重点关注认证方式(OAuth2/Bearer Token等)、文件字段命名规范及响应数据结构。对于生产环境,推荐采用网页中的企业级实践方案,包含分块传输、智能重试和日志监控等模块。
03-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值