支援高速串流輸出、支援多輪對話、支援無浮水印AI繪圖、支援長文件解讀、影像解析,零配置部署,多路token支持,自動清理會話痕跡。
與ChatGPT介面完全相容。
還有以下八個free-api歡迎關注:
Moonshot AI(Kimi.ai)介面轉API kimi-free-api
階躍星辰(躍問StepChat) 介面轉API step-free-api
智譜AI (智譜清言) 介面轉API glm-free-api
秘塔AI (Metaso) 介面轉API metaso-free-api
訊飛星火(Spark)介面轉API spark-free-api
MiniMax(海螺AI)介面轉API hailuo-free-api
深度求索(DeepSeek)介面轉API deepseek-free-api
聆心智能(Emohaa) 介面轉API emohaa-free-api
逆向API是不穩定的,建議前往阿里雲官方https://dashscope.console.aliyun.com/ 付費使用API,避免封鎖的風險。
本組織和個人不接受任何資金捐贈和交易,此計畫是純粹研究交流學習性質!
僅限自用,禁止對外提供服務或商用,避免對官方造成服務壓力,否則風險自擔!
僅限自用,禁止對外提供服務或商用,避免對官方造成服務壓力,否則風險自擔!
僅限自用,禁止對外提供服務或商用,避免對官方造成服務壓力,否則風險自擔!
此連結僅臨時測試功能,長期使用請自行部署。
https://udify.app/chat/qOXzVl5kkvhQXM8r
從通義千問登入
進入通義千問隨便發起一個對話,然後F12開啟開發者工具,從Application > Cookies中找到tongyi_sso_ticket
的值,這將作為Authorization的Bearer Token值: Authorization: Bearer TOKEN
從阿里雲登入(如果該帳號有伺服器等重要資產不建議使用),如果該帳號之前未進入過通義千問,需要先進入同意協議,否則無法生效。
然後F12開啟開發者工具,從Application > Cookies中找到login_aliyunid_ticket
的值,這將作為Authorization的Bearer Token值: Authorization: Bearer TOKEN
你可以透過提供多個帳號的tongyi_sso_ticket或login_aliyunid_ticket,並使用,拼接提供:
Authorization: Bearer TOKEN1,TOKEN2,TOKEN3
每次請求服務會從中挑選一個。
請準備一台具有公網IP的伺服器並將8000連接埠開放。
拉取鏡像並啟動服務
docker run -it -d --init --name qwen-free-api -p 8000:8000 -e TZ=Asia/Shanghai vinlic/qwen-free-api:latest
查看服務即時日誌
docker logs -f qwen-free-api
重啟服務
docker restart qwen-free-api
停止服務
docker stop qwen-free-api
version : ' 3 '
services :
qwen-free-api :
container_name : qwen-free-api
image : vinlic/qwen-free-api:latest
restart : always
ports :
- " 8000:8000 "
environment :
- TZ=Asia/Shanghai
注意:部分部署區域可能無法連接qwen,例如容器日誌出現請求逾時或無法連接,請切換其他區域部署!注意:免費帳戶的容器實例將在一段時間不活動時自動停止運行,這會導致下次請求時遇到50秒或更長的延遲,建議查看Render容器保活
fork本專案到你的github帳號下。
造訪Render 並登入你的github帳號。
建立你的Web Service(New+ -> Build and deploy from a Git repository -> Connect你fork的專案-> 選擇部署區域-> 選擇實例類型為Free -> Create Web Service)。
等待建置完成後,複製已指派的網域名稱並拼接URL存取即可。
注意:Vercel免費帳戶的請求回應逾時時間為10秒,但介面回應通常較長,可能會遇到Vercel回傳的504逾時錯誤!
請先確保安裝了Node.js環境。
npm i -g vercel --registry http://registry.npmmirror.com
vercel login
git clone https://github.com/LLM-Red-Team/qwen-free-api
cd qwen-free-api
vercel --prod
請準備一台具有公網IP的伺服器並將8000連接埠開放。
請先安裝好Node.js環境且配置好環境變量,確認node指令可用。
安裝依賴
npm i
安裝PM2進行進程守護
npm i -g pm2
編譯構建,看到dist目錄就是構建完成
npm run build
啟動服務
pm2 start dist/index.js --name " qwen-free-api "
查看服務即時日誌
pm2 logs qwen-free-api
重啟服務
pm2 reload qwen-free-api
停止服務
pm2 stop qwen-free-api
使用以下二次開發客戶端接入free-api系列專案更快更簡單,支援文件/圖像上傳!
由Clivia 二次開發的LobeChat https://github.com/Yanyutin753/lobe-chat
由時間@ 二次開發的ChatGPT Web https://github.com/SuYxh/chatgpt-web-sea
目前支援與openai相容的/v1/chat/completions
接口,可自行使用與openai或其他相容的用戶端接入接口,或使用dify 等線上服務接入使用。
對話補全接口,與openai的chat-completions-api 相容。
POST /v1/chat/completions
header 需要設定Authorization 頭部:
Authorization: Bearer [tongyi_sso_ticket/login_aliyunid_ticket]
請求資料:
{
// 模型名称随意填写
"model" : " qwen " ,
// 目前多轮对话基于消息合并实现,某些场景可能导致能力下降且受单轮最大token数限制
// 如果您想获得原生的多轮对话体验,可以传入上一轮消息获得的id,来接续上下文
// "conversation_id": "bc9ef150d0e44794ab624df958292300-40811965812e4782bb87f1a9e4e2b2cd",
"messages" : [
{
"role" : " user " ,
"content" : "你是谁? "
}
],
// 如果使用SSE流请设置为true,默认false
"stream" : false
}
響應數據:
{
// 如果想获得原生多轮对话体验,此id,你可以传入到下一轮对话的conversation_id来接续上下文
"id" : " bc9ef150d0e44794ab624df958292300-40811965812e4782bb87f1a9e4e2b2cd " ,
"model" : " qwen " ,
"object" : " chat.completion " ,
"choices" : [
{
"index" : 0 ,
"message" : {
"role" : " assistant " ,
"content" : "我是阿里云研发的超大规模语言模型,我叫通义千问。 "
},
"finish_reason" : " stop "
}
],
"usage" : {
"prompt_tokens" : 1 ,
"completion_tokens" : 1 ,
"total_tokens" : 2
},
"created" : 1710152062
}
對話補全接口,與openai的images-create-api 相容。
POST /v1/images/generations
header 需要設定Authorization 頭部:
Authorization: Bearer [tongyi_sso_ticket/login_aliyunid_ticket]
請求資料:
{
// 可以乱填
"model" : " wanxiang " ,
"prompt" : "一只可爱的猫"
}
響應數據:
{
"created" : 1711507734 ,
"data" : [
{
"url" : " https://wanx.alicdn.com/wanx/1111111111/text_to_image/7248e85cfda6491aae59c54e7e679b17_0.png "
}
]
}
提供一個可存取的檔案URL或BASE64_URL進行解析。
POST /v1/chat/completions
header 需要設定Authorization 頭部:
Authorization: Bearer [refresh_token]
請求資料:
{
"model" : " qwen " ,
"messages" : [
{
"role" : " user " ,
"content" : [
{
"type" : " file " ,
"file_url" : {
"url" : " https://mj101-1317487292.cos.ap-shanghai.myqcloud.com/ai/test.pdf "
}
},
{
"type" : " text " ,
"text" : "文档里说了什么? "
}
]
}
]
}
響應數據:
{
"id" : " b56ea6c9e86140429fa2de6a6ec028ff " ,
"model" : " qwen " ,
"object" : " chat.completion " ,
"choices" : [
{
"index" : 0 ,
"message" : {
"role" : " assistant " ,
"content": "文档中包含了四个古代魔法仪式或咒语的描述,它们似乎旨在影响或控制一个特定女性的情感和行为,使其对施术者产生强烈的爱意。以下是每个仪式的具体内容:nn1. **仪式一**(PMG 4.1390 – 1495):n - 施术者需留下一些面包,将其掰成七小块。n - 前往一处英雄、角斗士或其他暴力死亡者丧生的地方。n - 对着面包碎片念诵咒语后丢弃,并从该地取一些受污染的泥土扔进目标女性的住所。n - 咒语内容包括向命运三女神(Moirai)、罗马版的命运女神(Fates)、自然力量(Daemons)、饥荒与嫉妒之神以及非正常死亡者献祭食物,并请求他们以痛苦折磨目标,使她在梦中惊醒,心生忧虑与恐惧,最终跟随施术者的步伐并顺从其意愿。此过程以赫卡忒(Hecate)女神为命令的源泉。nn2. **仪式二**(PMG 4.1342 – 57):n - 施术者召唤恶魔(Daemon),通过一系列神秘的神祇名号(如Erekisephthe Araracharara Ephthesikere)要求其将名为Tereous的女子(Apia所生)带至施术者Didymos(Taipiam所生)身边。n - 请求该女子在灵魂、心智及女性器官上遭受剧烈痛苦,直至她主动找寻Didymos并与之紧密相连(唇对唇、发对发、腹部对腹部)。整个过程要求立即执行。nn3. **仪式三**(PGM 4.1265 – 74):n - 揭示了阿佛洛狄忒(Aphrodite)鲜为人知的名字——NEPHERIĒRI[nfr-iry-t]。n - 如果想赢得一位美丽女子的芳心,施术者应保持三天纯净,献上乳香,并在心中默念该名字七次。n - 这样的做法需持续七天,据说这样便能成功吸引女子。nn4. **仪式四**(PGM 4.1496 – 1):n - 施术者在燃烧的煤炭上供奉没药(myrrh),同时念诵咒语。n - 咒语将没药称为“苦涩的调和者”、“热力的激发者”,并命令它前往指定的女子(及其母亲的名字)处,阻止她进行日常活动(如坐、饮、食、注视他人、亲吻他人),迫使她心中只有施术者,对其产生强烈的欲望与爱意。n - 咒语还指示没药直接穿透女子的灵魂,驻留在其心中,焚烧其内脏、胸部、肝脏、气息、骨骼、骨髓,直到她来到施术者身边。nn这些仪式反映了古代魔法实践中试图借助超自然力量操控他人情感与行为的企图,涉及对神灵、恶魔、神秘名字及特定物质(如面包、泥土、乳香、没药)的运用,通常伴随着严格的仪式规程和咒语念诵。此类行为在现代伦理和法律框架下被视为不恰当甚至违法,且缺乏科学依据。"
},
"finish_reason" : " stop "
}
],
"usage" : {
"prompt_tokens" : 1 ,
"completion_tokens" : 1 ,
"total_tokens" : 2
},
"created" : 1712253736
}
提供一個可存取的圖像URL或BASE64_URL進行解析。
此格式相容於gpt-4-vision-preview API格式,您也可以用這個格式傳送文件進行解析。
POST /v1/chat/completions
header 需要設定Authorization 頭部:
Authorization: Bearer [refresh_token]
請求資料:
{
"model" : " qwen " ,
"messages" : [
{
"role" : " user " ,
"content" : [
{
"type" : " file " ,
"file_url" : {
"url" : " https://img.alicdn.com/imgextra/i1/O1CN01CC9kic1ig1r4sAY5d_!!6000000004441-2-tps-880-210.png "
}
},
{
"type" : " text " ,
"text" : "图像描述了什么? "
}
]
}
]
}
響應數據:
{
"id" : " 895fbe7fa22442d499ba67bb5213e842 " ,
"model" : " qwen " ,
"object" : " chat.completion " ,
"choices" : [
{
"index" : 0 ,
"message" : {
"role" : " assistant " ,
"content" : "图像展示了通义千问的标志,一个紫色的六边形和一个蓝色的三角形,以及“通义千问”四个白色的汉字。 "
},
"finish_reason" : " stop "
}
],
"usage" : {
"prompt_tokens" : 1 ,
"completion_tokens" : 1 ,
"total_tokens" : 2
},
"created" : 1712254066
}
偵測tongyi_sso_ticket或login_aliyunid_ticket是否存活,如果存活live未true,否則為false,請不要頻繁(小於10分鐘)呼叫此介面。
POST /token/check
請求資料:
{
"token" : " QIhaHrrXUaIrWMUmL... "
}
響應數據:
{
"live" : true
}
如果您正在使用Nginx反向代理qwen-free-api,請新增以下設定項優化流的輸出效果,優化體驗感。
# 关闭代理缓冲。当设置为off时,Nginx会立即将客户端请求发送到后端服务器,并立即将从后端服务器接收到的响应发送回客户端。
proxy_buffering off ;
# 启用分块传输编码。分块传输编码允许服务器为动态生成的内容分块发送数据,而不需要预先知道内容的大小。
chunked_transfer_encoding on ;
# 开启TCP_NOPUSH,这告诉Nginx在数据包发送到客户端之前,尽可能地发送数据。这通常在sendfile使用时配合使用,可以提高网络效率。
tcp_nopush on ;
# 开启TCP_NODELAY,这告诉Nginx不延迟发送数据,立即发送小数据包。在某些情况下,这可以减少网络的延迟。
tcp_nodelay on ;
# 设置保持连接的超时时间,这里设置为120秒。如果在这段时间内,客户端和服务器之间没有进一步的通信,连接将被关闭。
keepalive_timeout 120 ;
由於推理側不在qwen-free-api,因此token不可統計,將以固定數字返回。