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.1.tar.gz
(26.1 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.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c94b3eff81031f6d5980b3ba1225f05310b262361d2c80fd1ea0763fa573a70
|
|
| MD5 |
b409725584d416d846bf54514f058886
|
|
| BLAKE2b-256 |
988eb349b9e7747d23f9ed7a1bee9ae9bb8f353cbd96ee5978c73f3fc22ca32c
|
File details
Details for the file langchain_amvera-0.3.1-py3-none-any.whl.
File metadata
- Download URL: langchain_amvera-0.3.1-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1732cd6366e11b24c92891c169b0baa24ac8330b40e704248b8f1ee7eadf5b75
|
|
| MD5 |
cb980509ee4f08bafc1f43658f611c82
|
|
| BLAKE2b-256 |
105fe9762f8e944125d2ff586ab2e1e74c53b542d51451651ac3a616366ea3f4
|