【2024.06.13】 支持MiniCPM-Llama3-V-2_5
模型,修改環境變量MODEL_NAME=minicpm-v
PROMPT_NAME=minicpm-v
DTYPE=bfloat16
【2024.06.12】 支持GLM-4V
模型,修改環境變量MODEL_NAME=glm-4v
PROMPT_NAME=glm-4v
DTYPE=bfloat16
, 測試示例見glm4v
【2024.06.08】 已支持QWEN2
模型,修改環境變量MODEL_NAME=qwen2
PROMPT_NAME=qwen2
【2024.06.05】 支持GLM4
模型,修改環境變量MODEL_NAME=chatglm4
PROMPT_NAME=chatglm4
【2024.04.18】 支持Code Qwen
模型,sql問答demo
【2024.04.16】 支持Rerank
重排序模型,使用方式
【2024.02.26】 QWEN1.5
模型需要修改環境變量MODEL_NAME=qwen2
PROMPT_NAME=qwen2
更多新聞和歷史請轉至此處
此項目主要內容
此項目為開源大模型的推理實現統一的後端接口,與OpenAI
的響應保持一致,具有以下特性:
以OpenAI ChatGPT API
的方式調用各類開源大模型
?️ 支持流式響應,實現打印機效果
實現文本嵌入模型,為文檔知識問答提供支持
?️ 支持大規模語言模型開發工具langchain
的各類功能
? 只需要簡單的修改環境變量即可將開源模型作為chatgpt
的替代模型,為各類應用提供後端支持
支持加載經過自行訓練過的lora
模型
⚡ 支持vLLM 推理加速和處理並發請求
章節 | 描述 |
---|---|
??♂支持模型 | 此項目支持的開源模型以及簡要信息 |
?啟動方式 | 啟動模型的環境配置和啟動命令 |
⚡vLLM啟動方式 | 使用vLLM 啟動模型的環境配置和啟動命令 |
調用方式 | 啟動模型之後的調用方式 |
❓常見問題 | 一些常見問題的回复 |
語言模型
模型 | 模型參數大小 |
---|---|
Baichuan | 7B/13B |
ChatGLM | 6B |
DeepSeek | 7B/16B/67B/236B |
InternLM | 7B/20B |
LLaMA | 7B/13B/33B/65B |
LLaMA-2 | 7B/13B/70B |
LLaMA-3 | 8B/70B |
Qwen | 1.8B/7B/14B/72B |
Qwen1.5 | 0.5B/1.8B/4B/7B/14B/32B/72B/110B |
Qwen2 | 0.5B/1.5B/7B/57B/72B |
Yi (1/1.5) | 6B/9B/34B |
啟動方式詳見vLLM啟動方式、transformers啟動方式
嵌入模型
模型 | 維度 | 權重鏈接 |
---|---|---|
bge-large-zh | 1024 | bge-large-zh |
m3e-large | 1024 | moka-ai/m3e-large |
text2vec-large-chinese | 1024 | text2vec-large-chinese |
bce-embedding-base_v1(推薦) | 768 | bce-embedding-base_v1 |
OPENAI_API_KEY
: 此處隨意填一個字符串即可
OPENAI_API_BASE
: 後端啟動的接口地址,如:http://192.168.0.xx:80/v1
cd streamlit-demo
pip install -r requirements.txt
streamlit run streamlit_app.py
from openai import OpenAI
client = OpenAI (
api_key = "EMPTY" ,
base_url = "http://192.168.20.59:7891/v1/" ,
)
# Chat completion API
chat_completion = client . chat . completions . create (
messages = [
{
"role" : "user" ,
"content" : "你好" ,
}
],
model = "gpt-3.5-turbo" ,
)
print ( chat_completion )
# 你好!我是人工智能助手 ChatGLM3-6B,很高兴见到你,欢迎问我任何问题。
# stream = client.chat.completions.create(
# messages=[
# {
# "role": "user",
# "content": "感冒了怎么办",
# }
# ],
# model="gpt-3.5-turbo",
# stream=True,
# )
# for part in stream:
# print(part.choices[0].delta.content or "", end="", flush=True)
from openai import OpenAI
client = OpenAI (
api_key = "EMPTY" ,
base_url = "http://192.168.20.59:7891/v1/" ,
)
# Chat completion API
completion = client . completions . create (
model = "gpt-3.5-turbo" ,
prompt = "你好" ,
)
print ( completion )
# 你好!我是人工智能助手 ChatGLM-6B,很高兴见到你,欢迎问我任何问题。
from openai import OpenAI
client = OpenAI (
api_key = "EMPTY" ,
base_url = "http://192.168.20.59:7891/v1/" ,
)
# compute the embedding of the text
embedding = client . embeddings . create (
input = "你好" ,
model = "text-embedding-ada-002"
)
print ( embedding )
通過修改OPENAI_API_BASE
環境變量,大部分的chatgpt
應用和前後端項目都可以無縫銜接!
docker run -d -p 3000:3000
-e OPENAI_API_KEY= " sk-xxxx "
-e BASE_URL= " http://192.168.0.xx:80 "
yidadaa/chatgpt-next-web
# 在docker-compose.yml中的api和worker服务中添加以下环境变量
OPENAI_API_BASE: http://192.168.0.xx:80/v1
DISABLE_PROVIDER_CONFIG_VALIDATION: ' true '
此項目為Apache 2.0
許可證授權,有關詳細信息,請參閱LICENSE 文件。
ChatGLM: An Open Bilingual Dialogue Language Model
BLOOM: A 176B-Parameter Open-Access Multilingual Language Model
LLaMA: Open and Efficient Foundation Language Models
Efficient and Effective Text Encoding for Chinese LLaMA and Alpaca
Phoenix: Democratizing ChatGPT across Languages
MOSS: An open-sourced plugin-augmented conversational language model
FastChat: An open platform for training, serving, and evaluating large language model based chatbots
LangChain: Building applications with LLMs through composability
ChuanhuChatgpt