Skip to main content

LangChain интеграция для Amvera LLM API с поддержкой LLaMA и GPT моделей

Project description

LangChain Amvera

Интеграция LangChain для работы с Amvera LLM API.

Установка

pip install langchain-amvera

Быстрый старт

from langchain_amvera import AmveraLLM
from langchain_core.messages import HumanMessage

# Инициализация модели
llm = AmveraLLM(
    model="llama70b",  # или "gpt-4.1", "gpt-5"
    temperature=0.7,
    api_token="your-token"  # или через переменную AMVERA_API_TOKEN
)

# Синхронное использование
response = llm.invoke([HumanMessage(content="Привет!")])
print(response.content)

# Асинхронное использование  
import asyncio

async def main():
    response = await llm.ainvoke([HumanMessage(content="Привет!")])
    print(response.content)
    await llm.aclose()  # Закрытие соединений

asyncio.run(main())

Поддерживаемые модели

LLaMA модели

  • llama8b - Llama 3.1 8B модель
  • llama70b - Llama 3.1 70B модель (по умолчанию)

GPT модели

  • gpt-4.1 - модель GPT-4.1 от OpenAI
  • gpt-5 - модель GPT-5 от OpenAI

Конфигурация

Переменные окружения

Создайте файл .env:

AMVERA_API_TOKEN=your-amvera-api-token

Параметры инициализации

llm = AmveraLLM(
    model="llama70b",           # Модель: llama8b, llama70b, gpt-4.1, gpt-5
    temperature=0.7,            # Параметр творчества (0.0-2.0)
    max_tokens=1000,            # Максимальное количество токенов
    timeout=60,                 # Таймаут запроса в секундах
    verbose=True,               # Детальное логирование
    json_mode=False,            # JSON режим ответа
    json_schema={},             # JSON схема для валидации
    tools=None,                 # Инструменты для function calling
    api_token="your-token",     # API токен
    base_url="https://..."      # Базовый URL API
)

Возможности

Function Calling

from langchain_core.tools import tool
from pydantic import BaseModel, Field

# Определяем схему аргументов
class WeatherArgs(BaseModel):
    location: str = Field(description="Название города")
    unit: str = Field(default="celsius", description="Единицы температуры")

# Создаем инструмент с декоратором @tool
@tool("get_weather", args_schema=WeatherArgs)
def get_weather(location: str, unit: str = "celsius") -> str:
    """Получить прогноз погоды для указанного города."""
    # Ваша логика здесь
    return f"Погода в {location}: солнечно, {unit}"

# Привязываем инструменты к модели  
llm = AmveraLLM(model="llama70b")  # или "gpt-4.1", "gpt-5"
llm_with_tools = llm.bind_tools([get_weather])

# Использование
response = llm_with_tools.invoke([HumanMessage(content="Какая погода в Москве?")])

JSON режим

llm = AmveraLLM(
    model="llama70b",
    json_mode=True,
    json_schema={
        "type": "object",
        "properties": {
            "answer": {"type": "string"}
        }
    }
)

Получение информации об использовании

response = llm.invoke([HumanMessage(content="Привет!")])

# Информация о токенах
usage = llm.get_token_usage(response)
print(f"Использовано токенов: {usage}")

# Версия модели
version = llm.get_model_version(response)
print(f"Версия модели: {version}")

Примеры использования

Смотрите папку examples/ для подробных примеров:

Требования

  • Python 3.8+
  • langchain-core >= 0.1.0
  • langchain >= 0.1.0
  • httpx >= 0.24.0
  • pydantic >= 2.0.0
  • python-dotenv >= 0.19.0

Разработка

Установка для разработки

git clone https://github.com/amvera-ru/langchain-amvera.git
cd langchain-amvera
pip install -e ".[dev]"

Запуск тестов

pytest

Форматирование кода

black langchain_amvera/
ruff langchain_amvera/

Лицензия

MIT License. Смотрите LICENSE для подробностей.

Поддержка

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langchain_amvera-0.3.1.tar.gz (26.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

langchain_amvera-0.3.1-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file langchain_amvera-0.3.1.tar.gz.

File metadata

  • Download URL: langchain_amvera-0.3.1.tar.gz
  • Upload date:
  • Size: 26.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for langchain_amvera-0.3.1.tar.gz
Algorithm Hash digest
SHA256 6c94b3eff81031f6d5980b3ba1225f05310b262361d2c80fd1ea0763fa573a70
MD5 b409725584d416d846bf54514f058886
BLAKE2b-256 988eb349b9e7747d23f9ed7a1bee9ae9bb8f353cbd96ee5978c73f3fc22ca32c

See more details on using hashes here.

File details

Details for the file langchain_amvera-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_amvera-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1732cd6366e11b24c92891c169b0baa24ac8330b40e704248b8f1ee7eadf5b75
MD5 cb980509ee4f08bafc1f43658f611c82
BLAKE2b-256 105fe9762f8e944125d2ff586ab2e1e74c53b542d51451651ac3a616366ea3f4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page