इस प्रोजेक्ट के बारे में
# One API
मानक OpenAI API फॉर्मेट के माध्यम से सभी बड़े मॉडल तक पहुँचें, तुरंत उपयोग के लिए तैयार।
## समर्थित मॉडल और चैनल
- OpenAI ChatGPT श्रृंखला (Azure OpenAI सहित)
- Anthropic Claude श्रृंखला (AWS Claude सहित)
- Google PaLM2 / Gemini श्रृंखला
- Mistral श्रृंखला
- ByteDance Doubao (Volcano Engine)
- Baidu ERNIE Bot
- Alibaba Tongyi Qianwen
- iFlytek Spark
- Zhipu ChatGLM
- 360 Zhinao
- Tencent Hunyuan
- Moonshot AI, Baichuan, MINIMAX, DeepSeek
- Groq, Ollama, Zero One Things, StepFun, Coze
- Cohere, Cloudflare Workers AI, together.ai, novita.ai
- SiliconCloud, xAI, DeepL आदि
## मुख्य विशेषताएँ
1. **एकीकृत API अनुकूलन**: सभी चैनल OpenAI संगत फॉर्मेट में इंटरफ़ेस प्रदान करते हैं, जिससे क्लाइंट को कोड बदले बिना मॉडल बदलने की सुविधा मिलती है।
2. **लोड संतुलन**: मल्टी-चैनल राउटिंग का समर्थन करता है, समूह गुणक के आधार पर स्वचालित अनुरोध वितरण।
3. **टोकन प्रबंधन**: प्रत्येक एक्सेस टोकन के लिए समाप्ति समय, क्रेडिट सीमा, अनुमत IP श्रेणी और मॉडल सूची सेट करें।
4. **चैनल प्रबंधन**: कई डౌनस्ट्रीम चैनलों के बैच निर्माण और प्रबंधन का समर्थन करता है, प्रत्येक का मॉडल सूची अलग से कॉन्फ़िगर किया जा सकता है।
5. **उपयोगकर्ता समूह**: विभिन्न उपयोगकर्ता समूहों को अलग-अलग गुणक और अधिकार कॉन्फ़िगर किए जा सकते हैं।
6. **रिडीम कोड**: खाता रीचार्ज के लिए बैच जनरेट और निर्यात रिडीम कोड।
7. **स्वचालित पुनः प्रयास**: जब अपस्ट्रीम चैनल विफल हो जाता है तो स्वचालित रूप से अन्य उपलब्ध चैनल पर स्विच करता है।
8. **चित्र प्रतिष्ठापन**: इमेज जनरेशन इंटरफ़ेस रिले का समर्थन करता है。
9. **आमंत्रण पुरस्कार**: उपयोगकर्ता आमंत्रण तंत्र का समर्थन करता है।
10. **बहु-मशीन तैनाती**: master/slave आर्किटेक्चर वाले वितरित तैनाती का समर्थन करता है, Redis के साथ कैश सिंक।
11. **कस्टमाइज़ेशन**: कस्टम सिस्टम नाम, लोगो, फ़ुटर, होमपेज और About पेज का समर्थन करता है।
12. **लॉगिन विधि**: ईमेल पंजीकरण, Feishu OAuth, GitHub OAuth, WeChat Official Account OAuth का समर्थन करता है।
13. **Cloudflare AI Gateway**: Cloudflare AI Gateway से सीधे जुड़ सकता है।
14. **थीम स्विच**: UI थीम बदलने का समर्थन करता है।
## तैनाती विधि
### Docker तैनाती (अनुशंसित)
```shell
# SQLite मोड
docker run --name one-api -d --restart always -p 3000:3000 \
-e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data \
justsong/one-api
# MySQL मोड
docker run --name one-api -d --restart always -p 3000:3000 \
-e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" \
-e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data \
justsong/one-api
```
प्रारंभिक खाता: उपयोगकर्ता नाम `root`, पासवर्ड `123456`।
### Docker Compose तैनाती
```shell
docker-compose up -d
```
डेटा `./data/mysql` डायरेक्ट्री में संग्रहीत होता है।
### मैनुअल तैनाती
```shell
git clone https://github.com/songquanpeng/one-api.git
cd one-api/web/default && npm install && npm run build
cd ../.. && go mod download && go build -ldflags "-s -w" -o one-api
./one-api --port 3000 --log-dir ./logs
```
### तीसरे पक्ष प्लेटफ़ॉर्म
Sealos, Zeabur, Render सहित एक-क्लिक तैनाती का समर्थन करता है, BT Panel के साथ भी संगत है।
## उपयोग विधि
1. "चैनल" पृष्ठ पर प्रत्येक मॉडल का API Key जोड़ें।
2. "टोकन" पृष्ठ पर निर्दिष्ट उपयोगकर्ता के लिए एक्सेस टोकन बनाएं।
3. क्लाइंट में API Base को One API पते (जैसे `https://your-domain/v1`) पर सेट करें, API Key उत्पन्न टोकन सेट करें।
चैनल को टोकन के बाद `-CHANNEL_ID` संलग्न करके निर्दिष्ट किया जा सकता है, उदाहरण: `Authorization: Bearer ONE_API_KEY-1`।
## पर्यावरण चर महत्व
| चर | विवरण |
|---|---|
| `REDIS_CONN_STRING` | Redis कैश सक्षम |
| `SESSION_SECRET` | स्थिर sesión कुंजी, रीस्टार्ट के बाद लॉगिन स्थिति बनाए रखें |
| `SQL_DSN` | SQLite के बजाय MySQL/PostgreSQL उपयोग करें |
| `SYNC_FREQUENCY` | कैश सिंक आवृत्ति (सेकंड), बहु-मशीन तैनाती के लिए अनुशंसित |
| `NODE_TYPE` | `master` या `slave`, बहु-मशीन तैनाती के लिए |
| `FRONTEND_BASE_URL` | सर्वर से FRONTEND अनुरोध रीडायरेक्ट करें |
| `INITIAL_ROOT_TOKEN` | पहली बार स्टार्टअप पर स्वचालित रूप से root टोकन बनाएं |
## ओपन सोर्स लाइसेंस
MIT लाइसेंस, पृष्ठ के निचले हिस्से में क्रेडिट और इस प्रोजेक्ट के लिंक को बनाए रखना आवश्यक है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.