optillm 使用教程
optillm Optimizing inference proxy for LLMs 项目地址: https://gitcode.com/gh_mirrors/op/optillm
1. 项目介绍
optillm 是一个开源的、兼容 OpenAI API 的优化推理代理,它实现了多种最先进的技术,可以提升大型语言模型(LLMs)的准确性和性能。该项目当前专注于实现那些在推理过程中通过额外计算来提高编码、逻辑和数学查询能力的技术。
2. 项目快速启动
安装
使用 pip
pip install optillm
使用 Docker
docker pull ghcr.io/codelion/optillm:latest
docker run -p 8000:8000 ghcr.io/codelion/optillm:latest
从源代码安装
git clone https://github.com/codelion/optillm.git
cd optillm
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
运行代理
python optillm.py
代理将启动并监听 8000
端口。
使用代理
一旦代理运行,您可以通过设置 base_url
为 http://localhost:8000/v1
来将其用作 OpenAI 客户端的替代。
import os
from openai import OpenAI
OPENAI_KEY = os.environ.get("OPENAI_API_KEY")
OPENAI_BASE_URL = "http://localhost:8000/v1"
client = OpenAI(api_key=OPENAI_KEY, base_url=OPENAI_BASE_URL)
response = client.chat.completions.create(
model="moa-gpt-4o",
messages=[
{
"role": "user",
"content": "Write a Python program to build an RL model to recite text from any position that the user provides, using only numpy."
}
],
temperature=0.2
)
print(response)
3. 应用案例和最佳实践
optillm 可以通过在模型名称前添加技术标签来控制优化技术。例如,使用 moa
作为优化方法:
response = client.chat.completions.create(
model="moa-gpt-4o",
messages=[
{
"role": "user",
"content": "How many r's are there in strawberry?"
}
],
temperature=0.2
)
您还可以在请求体中通过 optillm_approach
字段来指定技术:
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{
"role": "user",
"content": ""
}
],
temperature=0.2,
extra_body={
"optillm_approach": "bon|moa|mcts"
}
)
或者在提示中使用特定的标签来提及方法:
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{
"role": "user",
"content": "<optillm_approach>re2</optillm_approach> How many r's are there in strawberry?"
}
],
temperature=0.2
)
4. 典型生态项目
optillm 支持所有主流的 LLM 提供商和模型进行推理。您需要设置正确的环境变量,代理将选择相应的客户端。例如,使用 optillm 与 Gemini Flash 模型:
os.environ['GEMINI_API_KEY'] = 'your_api_key'
然后在请求中使用模型:
response = client.chat.completions.create(
model="moa-gemini/gemini-1.5-flash-002",
messages=[
{
"role": "user",
"content": "Your query here"
}
],
temperature=0.2
)
optillm Optimizing inference proxy for LLMs 项目地址: https://gitcode.com/gh_mirrors/op/optillm