TGAI API 接口文档
TGAI-GO 引擎驱动的 HTTP API。支持原生接口与 OpenAI 兼容接口,可接入任何前端 / SDK。
检测服务状态…
1健康检查
GET/api/health
健康检查,返回服务状态与已加载模型。
// 响应
{"status": "ok", "loaded_models": 1, "default_model": "tgai_go"}
2模型列表
GET/api/models
获取当前可用的模型列表及加载状态。
// 响应
{"models": [{"id":"tgai_go","name":"...","engine":"tgai_go"}], "loaded": [...], "default": "..."}
3非流式生成
POST/api/generate
一次性返回完整回复。
POST /api/generate
Content-Type: application/json
{
"message": "你好,介绍一下你自己",
"temperature": 0.8,
"max_tokens": 256,
"history": [
{"role": "user", "content": "你好"},
{"role": "assistant", "content": "你好!我是TGAI"}
]
}
// 响应
{"response": "你好!我是TGAI,很高兴认识你!"}
| 参数 | 类型 | 说明 |
|---|---|---|
message | string | 必填,用户消息 |
temperature | float | 温度 0-2,越高越浪 |
max_tokens | int | 最大生成 token 数 |
top_k / top_p | int/float | 采样参数 |
rep_penalty | float | 重复惩罚,>1.0 防复读机 |
history | array | 多轮对话历史 [{role, content}] |
4流式 SSE 聊天
POST/api/chat
逐 token 推送(Server-Sent Events),适合实时聊天界面。请求参数与 /api/generate 相同。
// SSE 事件流
data: {"token":"你"}
data: {"token":"好"}
data: {"token":"!"}
...
data: {"model":"tgai_go","model_name":"...","elapsed":1.2}
data: [DONE]
5OpenAI 兼容接口
GET/v1/models
兼容 OpenAI 格式的模型列表。
POST/v1/chat/completions
OpenAI 对话补全,支持 stream=true 流式输出。若请求体顶层带
web_search: true,服务端会先按用户提示词自动联网检索权威新闻并把热点注入上下文,再让模型作答。POST /v1/chat/completions
Content-Type: application/json
{
"model": "tgai_go",
"messages": [
{"role": "system", "content": "你是一个有用的AI助手"},
{"role": "user", "content": "最近尼泊尔泥石流的新闻"}
],
"temperature": 0.8,
"stream": true,
"web_search": true
}
Python SDK 使用示例:
from openai import OpenAI
client = OpenAI(base_url="http://<host>:<port>/v1", api_key="not-needed")
resp = client.chat.completions.create(
model="tgai_go",
messages=[{"role": "user", "content": "你好"}])
print(resp.choices[0].message.content)
# 联网搜索:多传一个顶层参数即可,SDK 会原样透传给服务端
resp = client.chat.completions.create(
model="tgai_go",
extra_body={"web_search": True},
messages=[{"role": "user", "content": "最近尼泊尔泥石流的新闻"}])
print(resp.choices[0].message.content)
6文生图
POST/v1/images/generations
多模态模型可用(需 .TG 含 DiT+VAE)。返回图片 URL 或 base64。
POST /v1/images/generations
Content-Type: application/json
{
"prompt": "一只猫坐在窗台上",
"image_size": "256x256",
"steps": 5,
"response_format": "url"
}
7联网搜索 API
免费联网搜索能力:服务端按关键词自动检索权威新闻源(中新网),知识类问题自动检索百度百科词条。支持直接返回结果(不调用 AI),也可配合
web_search: true 让模型基于实时信息作答。GET/api/search?q=关键词POST/api/search
独立联网搜索,不消耗模型。知识类问题(如“什么是XXX”)返回百度百科词条(
type:"baike");时事/新闻类关键词返回新闻列表(type:"news",含分类、发布时间、原文链接)。q 为空时返回最新头条。GET /api/search?q=什么是崩坏星穹铁道 // 知识类问题 -> 返回百度百科词条 { "ok": true, "count": 1, "query": "什么是崩坏星穹铁道", "date": "2026-09-01", "type": "baike", "items": [ { "cat": "百科", "title": "崩坏:星穹铁道", "desc": "2023年米哈游开发的银河冒险策略游戏", "link": "https://baike.baidu.com/item/崩坏:星穹铁道", "src": "百度百科" } ] } GET /api/search?q=尼泊尔泥石流&top_k=5 // 时事类关键词 -> 返回新闻列表 (type: news) { "ok": true, "count": 2, "query": "尼泊尔泥石流", "date": "2026-09-01", "type": "news", "items": [ { "cat": "国际", "title": "外媒:尼泊尔泥石流灾害造成的遇难人数升至987人", "pub": "09-01 13:55", "link": "https://www.chinanews.com.cn/gj/2026/09-01/10687829.shtml", "src": "新闻" } ] }
| 参数 | 类型 | 说明 |
|---|---|---|
q | string | 检索关键词(POST 可用 q 或 query);空则返回最新头条 |
top_k | int | 返回条数,默认 5,最大 10 |
curl / Python 示例:
curl "https://<host>:<port>/api/search?q=尼泊尔泥石流"
curl -X POST "https://<host>:<port>/api/search" \
-H "Content-Type: application/json" \
-d '{"q":"尼泊尔泥石流","top_k":3}'
# Python
import requests
r = requests.get("https://<host>:<port>/api/search", params={"q": "尼泊尔泥石流"})
for it in r.json()["items"]:
print(f"[{it['cat']} {it['pub']}] {it['title']}\n {it['link']}")
POST/v1/chat/completions+ web_search
对话时联网:在 OpenAI 兼容请求体顶层加
web_search: true,服务端先检索热点注入上下文,再让模型回答(见第 5 节示例)。新闻检索结果同样带发布时间与原文链接。