蜜桃av色欲a片精品一区,麻豆aⅴ精品无码一区二区,亚洲人成网站在线播放影院在线,亚洲 素人 字幕 在线 最新

微立頂科技

新聞資訊

創(chuàng)新 服務(wù) 價(jià)值

  LLM高效轉(zhuǎn)發(fā)服務(wù):OpenAI-Forward

發(fā)布日期:2024/7/10 8:50:47      瀏覽量:

LLM高效轉(zhuǎn)發(fā)服務(wù):OpenAI-Forward


OpenAI-Forward 是為大型語(yǔ)言模型實(shí)現(xiàn)的高效轉(zhuǎn)發(fā)服務(wù)。其核心功能包括 用戶請(qǐng)求速率控制、Token速率限制、智能預(yù)測(cè)緩存、日志管理和API密鑰管理等,旨在提供高效、便捷的模型轉(zhuǎn)發(fā)服務(wù)。無論是代理本地語(yǔ)言模型還是云端語(yǔ)言模型,如 LocalAI 或 OpenAI,都可以由 OpenAI Forward 輕松實(shí)現(xiàn)。得益于 uvicorn, aiohttp, 和 asyncio 等庫(kù)支持,OpenAI-Forward 實(shí)現(xiàn)了出色的異步性能


主要特性

  • 全能轉(zhuǎn)發(fā):可轉(zhuǎn)發(fā)幾乎所有類型的請(qǐng)求

  • 性能優(yōu)先:出色的異步性能

  • 緩存AI預(yù)測(cè):對(duì)AI預(yù)測(cè)進(jìn)行緩存,加速服務(wù)訪問并節(jié)省費(fèi)用

  • 用戶流量控制:自定義請(qǐng)求速率與Token速率

  • 實(shí)時(shí)響應(yīng)日志:提升LLMs可觀察性

  • 自定義秘鑰:替代原始API密鑰

  • 多目標(biāo)路由:轉(zhuǎn)發(fā)多個(gè)服務(wù)地址至同一服務(wù)下的不同路由

  • 黑白名單:可對(duì)指定IP進(jìn)行黑白名單限制

  • 自動(dòng)重試:確保服務(wù)的穩(wěn)定性,請(qǐng)求失敗時(shí)將自動(dòng)重試

  • 快速部署:支持通過pip和docker在本地或云端進(jìn)行快速部署

由本項(xiàng)目搭建的代理服務(wù)地址:

  • 原始OpenAI 服務(wù)地址

    https://api.openai-forward.com
    https://render.openai-forward.com

  • 開啟緩存的服務(wù)地址(用戶請(qǐng)求結(jié)果將被保存一段時(shí)間)

    https://smart.openai-forward.com

注:此處部署的代理服務(wù)僅供個(gè)人學(xué)習(xí)和研究目的使用,勿用于任何商業(yè)用途。

部署指南

?? 部署文檔


使用指南

快速入門

安裝

pip install openai-forward  # 或安裝webui版本:pip install openai-forward[webui]

啟動(dòng)服務(wù)

aifd run# 或啟動(dòng)帶webui的服務(wù)aifd run --webui

如果讀入了根路徑的.env的配置, 將會(huì)看到以下啟動(dòng)信息

? aifd run╭────── ?? openai-forward is ready to serve!  ───────╮│                                                    │base url         https://api.openai.com           ││  route prefix     /                                ││  api keys         False                            ││  forward keys     False                            ││  cache_backend    MEMORY                           │╰────────────────────────────────────────────────────╯╭──────────── ?? Rate Limit configuration ───────────╮│                                                    ││  backend                memory                     ││  strategy               moving-window              │global rate limit 100/minute (req)           ││  /v1/chat/completions 100/2minutes (req)         ││  /v1/completions 60/minute;600/hour (req)   ││  /v1/chat/completions 60/second (token)          ││  /v1/completions 60/second (token)          │╰────────────────────────────────────────────────────╯INFO:     Started server process [191471]INFO:     Waiting for application startup.INFO:     Application startup complete.INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

代理OpenAI模型:

aifd run的默認(rèn)選項(xiàng)便是代理https://api.openai.com

下面以搭建好的服務(wù)地址https://api.openai-forward.com 為例

Python

 from openai import OpenAI # pip install openai>=1.0.0 client = OpenAI(+     base_url="https://api.openai-forward.com/v1",  api_key="sk-******" )

代理本地模型

  • 適用場(chǎng)景: 與 LocalAI, api-for-open-llm等項(xiàng)目一起使用

  • 如何操作: 以LocalAI為例,如果已在 http://localhost:8080 部署了LocalAI服務(wù),僅需在環(huán)境變量或 .env 文件中設(shè)置 FORWARD_CONFIG=[{"base_url":"http://localhost:8080","route":"/localai","type":"openai"}]。然后即可通過訪問 http://localhost:8000/localai 使用LocalAI。

(更多)

代理任意云端模型

代理gemini pro

配置環(huán)境變量或 .env 文件如下:

FORWARD_CONFIG=[{"base_url":"https://generativelanguage.googleapis.com","route":"/gemini","type":"general"}]

說明:aidf run啟動(dòng)后,即可通過訪問 http://localhost:8000/gemini 使用gemini pro。

  • 場(chǎng)景1: 使用通用轉(zhuǎn)發(fā),可對(duì)任意來源服務(wù)進(jìn)行轉(zhuǎn)發(fā), 可獲得請(qǐng)求速率控制與token速率控制;但通用轉(zhuǎn)發(fā)不支持自定義秘鑰.

  • 場(chǎng)景2: 可通過 LiteLLM 可以將 眾多云模型的 API 格式轉(zhuǎn)換為 openai 的api格式,然后使用openai風(fēng)格轉(zhuǎn)發(fā)

(更多)


配置

執(zhí)行 aifd run --webui 進(jìn)入配置頁(yè)面 (默認(rèn)服務(wù)地址 http://localhost:8001)

你可以在項(xiàng)目的運(yùn)行目錄下創(chuàng)建 .env 文件來定制各項(xiàng)配置。參考配置可見根目錄下的 .env.example文件

智能緩存

開啟緩存后,將會(huì)對(duì)指定路由的內(nèi)容進(jìn)行緩存,其中轉(zhuǎn)發(fā)類型分別為openai與general兩者行為略有不同, 使用general轉(zhuǎn)發(fā)時(shí),默認(rèn)會(huì)將相同的請(qǐng)求一律使用緩存返回,
使用openai轉(zhuǎn)發(fā)時(shí),在開啟緩存后,可以通過OpenAI 的extra_body參數(shù)來控制緩存的行為,如

Python

 from openai import OpenAI  client = OpenAI(+     base_url="https://smart.openai-forward.com/v1",  api_key="sk-******" ) completion = client.chat.completions.create( model="gpt-3.5-turbo", messages=[ {"role": "user", "content": "Hello!"} ],+   extra_body={"caching": True})


多目標(biāo)服務(wù)轉(zhuǎn)發(fā)

支持轉(zhuǎn)發(fā)不同地址的服務(wù)至同一端口的不同路由下 用例見 .env.example

對(duì)話日志

保存路徑在當(dāng)前目錄下的Log/openai/chat/chat.log路徑中。
記錄格式為

{’messages’: [{’role’: ’user’, ’content’: ’hi’}], ’model’: ’gpt-3.5-turbo’, ’stream’: True, ’max_tokens’: None, ’n’: 1, ’temperature’: 1, ’top_p’: 1, ’logit_bias’: None, ’frequency_penalty’: 0, ’presence_penalty’: 0, ’stop’: None, ’user’: None, ’ip’: ’127.0.0.1’, ’uid’: ’2155fe1580e6aed626aa1ad74c1ce54e’, ’datetime’: ’2023-10-17 15:27:12’}{’assistant’: ’Hello! How can I assist you today?’, ’is_tool_calls’: False, ’uid’: ’2155fe1580e6aed626aa1ad74c1ce54e’}

轉(zhuǎn)換為json格式:

aifd convert

得到chat_openai.json:

  • [ { "datetime": "2023-10-17 15:27:12", "ip": "127.0.0.1", "model": "gpt-3.5-turbo", "temperature": 1, "messages": [ { "user": "hi" } ], "tools": null, "is_tool_calls": false, "assistant": "Hello! How can I assist you today?" }]


項(xiàng)目鏈接

https://github.com/KenyonY/openai-forward



  業(yè)務(wù)實(shí)施流程

需求調(diào)研 →

團(tuán)隊(duì)組建和動(dòng)員 →

數(shù)據(jù)初始化 →

調(diào)試完善 →

解決方案和選型 →

硬件網(wǎng)絡(luò)部署 →

系統(tǒng)部署試運(yùn)行 →

系統(tǒng)正式上線 →

合作協(xié)議

系統(tǒng)開發(fā)/整合

制作文檔和員工培訓(xùn)

售后服務(wù)

馬上咨詢: 如果您有業(yè)務(wù)方面的問題或者需求,歡迎您咨詢!我們帶來的不僅僅是技術(shù),還有行業(yè)經(jīng)驗(yàn)積累。
QQ: 39764417/308460098     Phone: 13 9800 1 9844 / 135 6887 9550     聯(lián)系人:石先生/雷先生