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

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

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

OpenAI API без стриминга

from openai import OpenAI

client = OpenAI(
base_url="http://ваш_адрес:8080/v1",
api_key="Ваш_user_API_ключ"
)

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="http://ваш_адрес:8080/v1",
api_key="Ваш_user_API_ключ"
)

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)
#...