Упрощенный китайский |
Функции |
Важный
После V0.7.0 будут основные коррективы в конфигурации и будут несовместимы с предыдущими версиями. Это удобнее настройки через пользовательский интерфейс и предоставляет более мощные параметры конфигурации.
Openai-Forward -это эффективная услуга пересылки для крупных языковых моделей. Его основные функции включают управление скоростью запроса пользователя, ограничение скорости токенов, интеллектуальное кэширование прогнозирования, управление журналами и управление ключами API и т. Д., С целью предоставления эффективных и удобных услуг для пересылки моделей. Будь то модель локального языка прокси или модель облачного языка, такая как LocalAI или OpenAI, ее можно легко реализовать с помощью OpenAI Forward. Благодаря поддержке таких библиотек, как Uvicorn, Aiohttp и Asyncio, Openai-Forward достигает превосходного асинхронного исполнения.
Агент сервисный адрес, созданный этим проектом:
Оригинальный адрес обслуживания OpenAI
https://api.openai-forward.com
https://render.openai-forward.com
Адрес службы, который позволяет кеш (результат запроса пользователя будет сохранен в течение определенного периода времени)
https://smart.openai-forward.com
Развернуть документацию
Установить
pip install openai-forward
# 或安装webui版本:
pip install openai-forward[webui]Начните сервис
aifd run
# 或启动带webui的服务
aifd run --webui Если вы прочитаете конфигурацию .env корневого пути, вы увидите следующую информацию о запуске
❯ 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) Опция по умолчанию для aifd run - Proxy https://api.openai.com
Ниже приведен пример установленного адреса обслуживания https://api.openai-forward.com
Питон
from openai import OpenAI # pip install openai>=1.0.0
client = OpenAI(
+ base_url="https://api.openai-forward.com/v1",
api_key="sk-******"
)Применимые сценарии: используется с LocalAI, API-FOR-OPEN-LLM и другими проектами
Как сделать: взять Localai в FORWARD_CONFIG=[{"base_url":"http://localhost:8080","route":"/localai","type":"openai"}] примера. Затем вы можете использовать Localai, посетив http: // localhost: 8000/localai.
(Более)
Настройте переменные среды или файлы .ENV следующим образом:
FORWARD_CONFIG = [{"base_url":"https://generativelanguage.googleapis.com","route":"/gemini","type":"general"}] Примечание. После начала aidf run , вы можете использовать Gemini Pro, посетив http: // localhost: 8000/gemini.
Сценарий 1: Используйте универсальную пересылку для пересылки от любого источника, и вы можете получить управление скоростью запроса и управление скоростью токена;
Сценарий 2: Форматы API многих облачных моделей могут быть преобразованы в формат API OpenAI через литлм, а затем отправлены с помощью стиля Openai
(Более)
Выполнить aifd run --webui для ввода страницы конфигурации (адрес службы по умолчанию http: // localhost: 8001)
Вы можете создать файл .ENV в каталоге Run Project для настройки различных конфигураций. Файл .env.example в корневом каталоге можно увидеть в эталонной конфигурации.
После general , как кэш будет включен, содержимое указанного маршрута будет кэшировано, а типы пересылки openai и general , а поведение немного отличается.
При использовании пересылки openai , после открытия кэша вы можете использовать параметр extra_body для управления поведением кэша, например, как поведение кэша, например, как
Питон
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}
)Загрязнение
curl https://smart.openai.com/v1/chat/completions
-H " Content-Type: application/json "
-H " Authorization: Bearer sk-****** "
-d ' {
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello!"}],
"caching": true
} '
См. .ENV -файл
Примеры использования:
import openai
+ openai.api_base = "https://api.openai-forward.com/v1"
- openai.api_key = "sk-******"
+ openai.api_key = "fk-******" См .env.example
Путь сохранения находится в пути 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'}
Преобразовать в формат 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? "
}
]Внесение вклад в этот проект приветствуется путем подачи запроса на привлечение или поднятия вопросов в репозитории.
Openai-Forward использует лицензию MIT.