Перейти к основному содержимому

Использование API Compressa

В Compressa есть интегрированный API-слой, совместимый с Chat Completion API от OpenAI. Это означает, что разработчики могут использовать существующую клиентскую библиотеку от OpenAI (включая библиотеку на Langchain) и адаптировать текущий код с минимальными изменениями для работы с Compressa.

Полная схема REST API, совместимого с OpenAI, доступна здесь.

Вот как заменить модели OpenAI на Compressa

from openai import OpenAI

client = OpenAI(
base_url="https://compressa-api.mil-team.ru/v1",
api_key="Ваш_API_ключ_Compressa"
)

response = client.chat.completions.create(
model="Compressa-LLM",
messages=[
{"role": "system", "content": "Ты умеешь сочинять смешные анекдоты."},
{"role": "user", "content": "Напиши короткий и смешной анекдот про программиста."}
],
stream=False
)

print(response.choices[0].message.content)

Также вы можете включить опцию стриминга токенов, доступную в клиенте OpenAI

#pip install openai - если у вас еще нет этого пакета

from openai import OpenAI

client = OpenAI(
base_url="https://compressa-api.mil-team.ru/v1",
api_key="Ваш_API_ключ_Compressa"
)

completion = client.chat.completions.create(
model="Compressa-LLM",
messages=[
{"role": "system", "content": "Ты умеешь сочинять смешные анкедоты."},
{"role": "user", "content": "Напиши короткий и смешной анекдот про программиста."}
],
stream=True
)

for chunk in completion:
print(chunk.choices[0].delta)

#ChoiceDelta(content='Б', function_call=None, refusal=None, role='assistant', tool_calls=None)
#ChoiceDelta(content='ы', function_call=None, refusal=None, role='assistant', tool_calls=None)
#ChoiceDelta(content='л', function_call=None, refusal=None, role='assistant', tool_calls=None)
#ChoiceDelta(content=' у', function_call=None, refusal=None, role='assistant', tool_calls=None)
#...