প্রকল্প সম্পর্কে

# One API মানক OpenAI API ফরম্যাটের মাধ্যমে সকল বড় মডেলে এক্সেস করুন, ওয়াটার-আউট বক্সে ব্যবহারযোগ্য। ## সমর্থিত মডেল ও চ্যানেল - OpenAI ChatGPT সিরিজ (Azure OpenAI সহ) - Anthropic Claude সিরিজ (AWS Claude সহ) - Google PaLM2 / Gemini সিরিজ - Mistral সিরিজ -字节跳动 ডুবাও (ভোলকান এনজিন) - Baidu 文心一言 - Ali Tongyi Qianwen - Xunfei Spark - Zhipu ChatGLM - 360智脑 - Tencent Hunyuan - Moonshot AI, Baichuan, MINIMAX, DeepSeek - Groq, Ollama, 零一万物, 阶跃星辰, 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. **কাস্টমাইজেশন**: সিস্টেম নাম, লোগো, ফুটার, হোমপেজ ও সম্পর্কে পৃষ্ঠা কাস্টমাইজ করা যায়। 12. **লগইন পদ্ধতি**: ইমেইল রেজিস্ট্রেশন, Feishu, GitHub, WeChat Official Account অনুমোদন সমর্থন করে। 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 সহ এক-ক্লিক ডিপ্লয়মেন্ট সমর্থিত, 宝塔面板-এর সাথেও সামঞ্জস্যপূর্ণ। ## ব্যবহার পদ্ধতি 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` | স্থির সেশন কী, রিস্টার্টের পরেও লগইন অবস্থা বজায় রাখ | | `SQL_DSN` | SQLite-এর পরিবর্তে MySQL/PostgreSQL ব্যবহার | | `SYNC_FREQUENCY` | ক্যাশ সামঞ্জস্যের ফ্রিকোয়েন্সি (সেকেন্ড), বহু-মেশিন ডিপ্লয়মেন্টের জন্য প্রস্তাবিত | | `NODE_TYPE` | `master` অথবা `slave`, বহু-মেশিন ডিপ্লয়মেন্টে | | `FRONTEND_BASE_URL` | সার্ভার থেকে ফ্রন্টএন্ড অনুরোধ পুনঃনির্দেশ | | `INITIAL_ROOT_TOKEN` | প্রথম চালুতে স্বয়ংক্রিয়ভাবে root টোকেন তৈরি | ## ওপেন সোর্স লাইসেন্স MIT লাইসেন্স, পৃষ্ঠার নীচে সম্মাননা ও এই প্রজেক্টের লিঙ্ক রাখতে হবে।