Skip to main content

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 для подробностей.

Поддержка

Release files for langchain-amvera 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for langchain-amvera 0.3.1
File Size Uploaded
langchain_amvera-0.3.1.tar.gz 26.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for langchain-amvera 0.3.1
File Interpreter ABI Platform
langchain_amvera-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 37.1 kB

Release files / langchain_amvera-0.3.1.tar.gz

Download URL langchain_amvera-0.3.1.tar.gz
Size 26.1 kB
Tags Source
SHA-256 checksum
How to use checksums
6c94b3eff81031f6d5980b3ba1225f05310b262361d2c80fd1ea0763fa573a70
BLAKE2b-256 checksum
How to use checksums
988eb349b9e7747d23f9ed7a1bee9ae9bb8f353cbd96ee5978c73f3fc22ca32c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release files / langchain_amvera-0.3.1-py3-none-any.whl

Download URL langchain_amvera-0.3.1-py3-none-any.whl
Size 11.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1732cd6366e11b24c92891c169b0baa24ac8330b40e704248b8f1ee7eadf5b75
BLAKE2b-256 checksum
How to use checksums
105fe9762f8e944125d2ff586ab2e1e74c53b542d51451651ac3a616366ea3f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page