logo
0
0
WeChat Login
feat: 初始化自动标签和总结服务

Hunyuan API Server

基于腾讯混元大模型的 GitHub Stars 项目标签生成和智能对话 RESTful API

快速开始

cp .env.example .env vim .env # 填写 HUNYUAN_API_KEY make run

Docker 部署:

cp .env.example .env && vim .env docker-compose up -d

REST API

1. 项目标签生成

为 GitHub Stars 项目生成总结和标签。

POST /api/v1/stars/tags

请求:

{ "projects": [ { "name": "Vue.js", "full_name": "vuejs/vue", "description": "渐进式 JavaScript 框架", "language": "TypeScript", "url": "https://github.com/vuejs/vue", "stars": 207000, "forks": 33600, "topics": ["javascript", "framework", "frontend"] } ] }
字段类型必填说明
projectsarray项目列表(最多 20 个)
projects[].namestring项目名称
projects[].full_namestring完整名称 owner/repo
projects[].descriptionstring项目描述
projects[].languagestring主要编程语言
projects[].urlstring项目地址
projects[].starsintStar 数
projects[].forksintFork 数
projects[].topicsarray主题标签

响应:

{ "code": 0, "message": "成功", "data": { "projects": [ { "name": "Vue.js", "summary": "渐进式 JavaScript 前端框架", "tags": ["前端框架", "JavaScript"] }, { "name": "React", "summary": "Facebook 开源的组件化 UI 库", "tags": ["前端框架", "UI组件"] } ], "project_count": 2, "process_time": 1200000000 } }

2. 智能对话

支持多轮对话,可选附带文档进行问答。

POST /api/v1/chat/message

普通对话:

{ "message": "推荐一些前端框架", "session_id": "user-123" }

带文档问答:

{ "message": "这两个框架有什么区别?", "session_id": "user-123", "documents": [ "Vue.js 是渐进式框架,采用双向数据绑定...", "React 是组件化 UI 库,采用单向数据流..." ] }
字段类型必填说明
messagestring用户消息(1-5000 字符)
session_idstring会话 ID(4-64 字符,仅字母数字下划线连字符)
documentsarray文档列表(最多 10 篇,每篇最多 5000 字符)

响应:

{ "code": 0, "message": "成功", "data": { "reply": "推荐以下前端框架:Vue.js、React、Angular...", "session_id": "user-123", "is_new_session": false, "has_documents": false, "message_count": 4, "process_time": 2500000000 } }

3. 清除会话

DELETE /api/v1/chat/session/{session_id}

响应:

{ "code": 0, "message": "成功", "data": { "message": "session cleared successfully", "session_id": "user-123", "total_sessions": 5 } }

4. 健康检查

GET /health

响应:

{ "code": 0, "message": "成功", "data": { "status": "ok", "service": "hunyuan-api", "runtime": { "goroutines": 15, "go_version": "go1.21.5", "platform": "darwin/arm64" } } }

5. 版本信息

GET /version

响应:

{ "code": 0, "message": "成功", "data": { "version": "1.0.0", "git_commit": "abc123", "build_time": "2024-01-01T00:00:00Z", "go_version": "go1.21.5", "platform": "darwin/arm64" } }

错误码

错误码说明
0成功
1001请求格式错误
1002参数校验失败
1003JSON 解析失败
2001服务器内部错误
2002LLM 调用失败
2006会话历史过长,请开启新会话

配置

变量名默认值说明
HUNYUAN_API_KEY-必填获取地址
HUNYUAN_MODELhunyuan-lite可选: lite/standard/pro/turbo
HUNYUAN_BASE_URLhttps://api.hunyuan.cloud.tencent.com/v1API 地址
PORT8080服务端口

构建

# 开发构建 make run # 生产构建(带版本信息) VERSION=$(git describe --tags --always) GIT_COMMIT=$(git rev-parse --short HEAD) BUILD_TIME=$(date -u +"%Y-%m-%dT%H:%M:%SZ") go build -ldflags "-X server/pkg/version.Version=$VERSION \ -X server/pkg/version.GitCommit=$GIT_COMMIT \ -X server/pkg/version.BuildTime=$BUILD_TIME" \ -o bin/server ./cmd/server

项目结构

. ├── cmd/server/ # 应用入口 ├── internal/ │ ├── handler/ # HTTP 处理器 │ └── router/ # 路由配置 ├── pkg/ │ ├── client/ # API 客户端 SDK │ ├── config/ # 配置管理 │ ├── constants/ # 常量定义 │ ├── llm/ # LLM 客户端 │ ├── middleware/ # HTTP 中间件 │ ├── response/ # 响应处理 │ ├── service/ # 业务逻辑 │ ├── utils/ # 工具函数 │ └── version/ # 版本管理 ├── go.mod ├── Makefile └── README.md

License

Apache 2.0