LlamaIndex
Подключение OpenAILike и отдельной модели эмбеддингов
Установка
pip install llama-index-llms-openai-like
Для произвольного ID модели используйте OpenAILike. Задайте GETAPI_API_KEY и GETAPI_MODEL в окружении
Генерация
import os
from llama_index.llms.openai_like import OpenAILike
from llama_index.core.llms import ChatMessage
llm = OpenAILike(
api_base="https://api.getapi.ru/v1",
api_key=os.environ["GETAPI_API_KEY"],
model=os.environ["GETAPI_MODEL"],
is_chat_model=True,
is_function_calling_model=False,
timeout=120,
max_retries=0,
)
answer = llm.chat([
ChatMessage(role="user", content="Объясни принцип векторного поиска")
])
print(answer.message.content)is_chat_model=True выбирает чатовый формат. is_function_calling_model включайте только для модели с поддержкой tools и сценария, который действительно использует инструменты
Контекст и разбиение документов
Установите context_window по характеристикам выбранной модели. Значение по умолчанию в библиотеке не является лимитом GetAPI
Размер фрагментов для индекса, число найденных документов и бюджет ответа должны помещаться в общий контекст
Эмбеддинги
Генерация и эмбеддинги используют отдельные модели. Для индекса нужен ID модели, поддерживающей Embeddings
Перед созданием большого индекса проверьте один документ и один поисковый запрос. Размерность векторов и модель должны совпадать при индексации и поиске. При смене модели пересоздайте индекс
Проверка
Убедитесь, что запросы генерации и эмбеддингов уходят на адрес GetAPI, а не на адрес SDK по умолчанию. Проверьте расход обоих типов запросов
Описание параметров: OpenAILike в LlamaIndex