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 от OpenAIgpt-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
Release history Release notifications | RSS feed
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.0.tar.gz
(25.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file langchain_amvera-0.3.0.tar.gz.
File metadata
- Download URL: langchain_amvera-0.3.0.tar.gz
- Upload date:
- Size: 25.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2cf5680ef369e8231b31d948da32461a9906885f47a8108b42f24fb37c21e16
|
|
| MD5 |
145a7b750173b1a72b1f3fb831af025e
|
|
| BLAKE2b-256 |
f49767ce8ac2f49c744ba3ccd6dbf2ff2a194ff2329fac46e72e9e82f16e1d34
|
File details
Details for the file langchain_amvera-0.3.0-py3-none-any.whl.
File metadata
- Download URL: langchain_amvera-0.3.0-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28f6fbf51166d1b9c3d2eede4e9cb0cc84ee381e9da798835b065314369b1814
|
|
| MD5 |
ed2383fdd859f34af2cf660c98c21d9f
|
|
| BLAKE2b-256 |
3695d5ed059a503453320b856a666d2cdf065be84c5daadb4eed2b5335535844
|