Целью этого проекта является устранение барьеров при использовании больших языковых моделей путем автоматизации всего за вас. Все, что вам нужно, это легкая исполняемая программа размером всего в несколько мегабайт. Кроме того, этот проект предоставляет интерфейс, совместимый с API OpenAI, а это означает, что каждый клиент ChatGPT является клиентом RWKV.
английский | 简体中文 | 日本語
Часто задаваемые вопросы | Предварительный просмотр | Скачать | Простой пример развертывания | Примеры развертывания сервера | Аппаратный MIDI-вход
Вы можете развернуть Backend-Python на сервере и использовать эту программу только как клиент. Введите адрес своего сервера в API URL
настроек.
Если вы развертываете и предоставляете общедоступные услуги, ограничьте размер запроса через шлюз API, чтобы предотвратить чрезмерное использование ресурсов, вызванное отправкой слишком длинных запросов. Кроме того, ограничьте верхний предел max_tokens запросов в зависимости от вашей реальной ситуации: https://github.com/josStorer/RWKV-Runner/blob/master/backend-python/utils/rwkv.py#L567, значение по умолчанию: установлено как le=102400, что в крайних случаях может привести к значительному потреблению ресурсов для отдельных ответов.
В конфигурациях по умолчанию включено специальное ускорение ядра CUDA, которое работает намного быстрее и потребляет гораздо меньше видеопамяти. Если вы столкнулись с возможными проблемами совместимости (выходные данные искажены), перейдите на страницу «Конфигурации» и отключите Use Custom CUDA kernel to Accelerate
или попробуйте обновить драйвер графического процессора.
Если Защитник Windows утверждает, что это вирус, вы можете попробовать загрузить v1.3.7_win.zip и позволить ему автоматически обновиться до последней версии или добавить его в список доверенных ( Windows Security
-> Virus & threat protection
-> Manage settings
- > Exclusions
-> Add or remove exclusions
-> Add an exclusion
-> Folder
-> RWKV-Runner
).
Для разных задач настройка параметров API позволяет добиться лучших результатов. Например, для задач перевода вы можете попробовать установить для температуры значение 1, а для Top_P — значение 0,3.
git clone https://github.com/josStorer/RWKV-Runner
# Then
cd RWKV-Runner
python ./backend-python/main.py # The backend inference service has been started, request /switch-model API to load the model, refer to the API documentation: http://127.0.0.1:8000/docs
# Or
cd RWKV-Runner/frontend
npm ci
npm run build # Compile the frontend
cd ..
python ./backend-python/webui_server.py # Start the frontend service separately
# Or
python ./backend-python/main.py --webui # Start the frontend and backend service at the same time
# Help Info
python ./backend-python/main.py -h
ab -p body.json -T application/json -c 20 -n 100 -l http://127.0.0.1:8000/chat/completions
тело.json:
{
"messages" : [
{
"role" : " user " ,
"content" : " Hello "
}
]
}
Примечание. В версии 1.4.0 улучшено качество API встраивания. Сгенерированные результаты несовместимы с предыдущими версиями. Если вы используете API внедрения для создания баз знаний или чего-то подобного, выполните повторную генерацию.
Если вы используете langchain, просто используйте OpenAIEmbeddings(openai_api_base="http://127.0.0.1:8000", openai_api_key="sk-")
import numpy as np
import requests
def cosine_similarity ( a , b ):
return np . dot ( a , b ) / ( np . linalg . norm ( a ) * np . linalg . norm ( b ))
values = [
"I am a girl" ,
"我是个女孩" ,
"私は女の子です" ,
"广东人爱吃福建人" ,
"我是个人类" ,
"I am a human" ,
"that dog is so cute" ,
"私はねこむすめです、にゃん♪" ,
"宇宙级特大事件!号外号外!"
]
embeddings = []
for v in values :
r = requests . post ( "http://127.0.0.1:8000/embeddings" , json = { "input" : v })
embedding = r . json ()[ "data" ][ 0 ][ "embedding" ]
embeddings . append ( embedding )
compared_embedding = embeddings [ 0 ]
embeddings_cos_sim = [ cosine_similarity ( compared_embedding , e ) for e in embeddings ]
for i in np . argsort ( embeddings_cos_sim )[:: - 1 ]:
print ( f" { embeddings_cos_sim [ i ]:.10f } - { values [ i ] } " )
Совет: вы можете скачать https://github.com/josStorer/sgm_plus и разархивировать его в каталог assets/sound-font
программы, чтобы использовать его в качестве автономного источника звука. Обратите внимание: если вы компилируете программу из исходного кода, не размещайте ее в каталоге с исходным кодом.
Если у вас нет MIDI-клавиатуры, вы можете использовать программное обеспечение для виртуального ввода MIDI, такое как Virtual Midi Controller 3 LE
, вместе с LoopMIDI, чтобы использовать обычную компьютерную клавиатуру в качестве входа MIDI.
Совет: вы можете скачать https://github.com/josStorer/sgm_plus и разархивировать его в каталог assets/sound-font
программы, чтобы использовать его в качестве автономного источника звука. Обратите внимание: если вы компилируете программу из исходного кода, не размещайте ее в каталоге с исходным кодом.