Skip to content

Latest commit

 

History

History
638 lines (504 loc) · 48.4 KB

File metadata and controls

638 lines (504 loc) · 48.4 KB

LightAgent Banner

License GitHub release GitHub issues GitHub stars GitHub forks GitHub contributors Docs PyPI Downloads Python Version Code Style

LightAgent является крайне легковесным активным агентным фреймворком с памятью (mem0), инструментами (Tools) и деревом мышления (ToT). Он поддерживает многослойное взаимодействие множества агентов, автоматическую генерацию инструментов и тестирование агентов. Поддерживаемые модели включают OpenAI, ChatGLM от Zhipu, Baichuan, DeepSeek, Qwen и другие крупные модели. В то же время, LightAgent поддерживает формат API OpenAI, безшовно интегрируется с основными чат-фреймворками.🌟


✨ Особенности

  • Легковесность и эффективность 🚀: ультра-упрощённый дизайн, быстрая настройка, подходит для приложений любого размера. (Нет LangChain, Нет LlamaIndex) 100% реализация на Python, без дополнительных зависимостей, основная кодовая база составляет всего 1000 строк, полностью открытый исходный код.
  • Поддержка памяти 🧠: поддержка пользовательской долгосрочной памяти для каждого пользователя, нативная поддержка модуля памяти mem0, позволяющая автоматически управлять персонализированной памятью пользователя в процессе диалога, делая агента более умным.
  • Автономное обучение 📚️: каждый агент обладает способностью самостоятельно обучаться, а администраторы с соответствующими правами могут управлять каждым агентом.
  • Интеграция инструментов 🛠️: поддержка пользовательских инструментов (Tools), автоматическая генерация инструментов, гибкое расширение для удовлетворения разнообразных потребностей.
  • Сложные цели 🌳: встроенный модуль дерева мышления с рефлексией (ToT), поддержка декомпозиции сложных задач и многошагового вывода, повышение эффективности обработки задач.
  • Многослойное взаимодействие агентов 🤖: более простая реализация многослойного взаимодействия агентов, встроенный LightSwarm для определения намерений и переноса задач, что позволяет более умно обрабатывать ввод пользователя и при необходимости передавать задачи другим агентам.
  • Автономное выполнение 🤖: выполнение вызовов инструментов без человеческого вмешательства.
  • Поддержка множества моделей 🔄: совместимость с OpenAI, ChatGLM от Zhipu, Baichuan и другим.
  • Потоковый API 🌊: поддержка вывода сервисов API в потоковом формате OpenAI, бесшовная интеграция с основными чат-фреймворками, улучшение пользовательского опыта.
  • Генератор инструментов Tools 🚀: просто передайте вашу документацию API [генератору инструментов Tools], и он автоматически создаст для вас индивидуальные инструменты, позволяя вам быстро создать сотни персонализированных инструментов всего за час, повысив производительность и освободив ваши творческие возможности.

🚧 В ближайшем будущем

  • Адаптивный механизм инструментов 🛠️: поддержка неограниченного количества инструментов, выбор кандидатов из десятков тысяч инструментов крупной моделью, фильтрация нерелевантных инструментов и передача контекста крупной модели, что может значительно снизить потребление токенов.
  • Агенты с памятью 🛠️: агенты могут обмениваться информацией и передавать сообщения, реализуя сложную задачу сотрудничества.
  • Самообучение агентов 🧠️: каждый агент обладает способностью запоминать информацию о сценах и самообучаться на основе разговоров с пользователями.
  • Оценка Агентов 📊: встроенные инструменты оценки агентов, удобные для оценки и оптимизации созданных вами агентов для привязки к бизнес-сценариям, постоянное повышение уровня интеллекта.

Встроенная методология "Мыслительный поток" (Thought Flow) помогает эффективно справляться с вызовами в сложных сценариях за счёт системного, структурированного и гибкого процесса мышления.

Вот конкретные шаги:

Определение проблемы: четкое определение ключевой проблемы и цели.

Сбор информации: систематический сбор актуальной информации и данных.

Разложение проблемы: разложение сложной проблемы на несколько подпроблем или модулей.

Многослойный анализ: анализ каждой подпроблемы с разных углов и уровней.

Установление связей: определение взаимосвязей и зависимостей между подпроблемами.

Генерация решений: предложение возможных решений для каждой подпроблемы.

Оценка и выбор: оценка осуществимости и воздействия решений, выбор оптимального.

Реализация и обратная связь: реализация выбранного решения и корректировка на основе обратной связи.

🌟 Почему выбирают LightAgent?

  • Открытый и бесплатный 💖: полностью открытый, управляемый сообществом, регулярно обновляемый, все желающие могут внести свой вклад!
  • Легкость в освоении 🎯: подробная документация, множество примеров, быстрое освоение, простая интеграция в ваши проекты.
  • Поддержка сообщества 👥: активное сообщество разработчиков, готовое помочь и ответить на вопросы.
  • Высокая производительность ⚡: оптимизированный дизайн, высокая эффективность, удовлетворяющая требования к высокой конкуренции.

🛠️ Быстрый старт

Установка последней версии LightAgent

pip install lightagent

(Опционально установите пакет Mem0):

pip install mem0ai

Или вы можете использовать Mem0 в облачной стороне, кликнув здесь.

Пример кода Hello world

from LightAgent import LightAgent

# Инициализация агента
agent = LightAgent(model="gpt-4o-mini", api_key="your_api_key", base_url= "your_base_url")

# Запуск агента
response = agent.run("Привет, кто ты?")
print(response)

Установка самосознания модели через системные подсказки

from LightAgent import LightAgent

# Инициализация агента
agent = LightAgent(
     role="Пожалуйста, помните, что вы - LightAgent, полезный помощник, который может помочь пользователям с использованием нескольких инструментов.",  # Описание системной роли
     model="deepseek-chat",  # Поддерживаемые модели: openai, chatglm, deepseek, qwen и т.д.
     api_key="your_api_key",  # Замените на ключ API вашего провайдера крупной модели
     base_url="your_base_url",  # Замените на URL API вашего провайдера крупной модели
 )
# Запуск агента
response = agent.run("Кто ты?")
print(response)

Пример кода использования инструмента

from LightAgent import LightAgent


# Определение инструмента
def get_weather(city_name: str) -> str:
    """
    Получить текущую погоду для `city_name`
    """
    return f"Результат запроса: Погода в {city_name} солнечная"
# Определить информацию о инструменте внутри функции
get_weather.tool_info = {
    "tool_name": "get_weather",
    "tool_description": "Получите текущую информацию о погоде в заданном городе",
    "tool_params": [
        {"name": "city_name", "description": "Название города для запроса", "type": "string", "required": True},
    ]
}

tools = [get_weather]

# Инициализация агента
agent = LightAgent(model="qwen-turbo-2024-11-01", api_key="your_api_key", base_url= "your_base_url", tools=tools)

# Запуск агента
response = agent.run("Пожалуйста, проверьте погоду в Шанхае")
print(response)

Поддерживает настройку неограниченного количества инструментов.

Примеры нескольких инструментов: tools = [search_news,get_weather,get_stock_realtime_data,get_stock_kline_data]


Подробное описание функций

1. Модуль памяти с возможностью извлечения (mem0)

LightAgent поддерживает внешний модуль памяти mem0 для автоматического управления контекстом и историей, без необходимости ручного ввода данных о памяти. С помощью модуля памяти агенты могут поддерживать согласованность контекста в многоступенчатых диалогах.

# Включение модуля памяти

# Или используйте пользовательский модуль памяти, в данном случае mem0 https://github.com/mem0ai/mem0/
from mem0 import Memory
from LightAgent import LightAgent
import os
from loguru import logger

class CustomMemory:
    def __init__(self):
        self.memories = []
        os.environ["OPENAI_API_KEY"] = "your_api_key"
        os.environ["OPENAI_API_BASE"] = "your_base_url"
        # Инициализация Mem0
        config = {
            "version": "v1.1"
        }
        # В mem0, если хотите использовать qdrant в качестве векторной базы данных для хранения памяти, измените config на следующий код
        # config = {
        #     "vector_store": {
        #         "provider": "qdrant",
        #         "config": {
        #             "host": "localhost",
        #             "port": 6333,
        #         }
        #     },
        #     "version": "v1.1"
        # }
        self.m = Memory.from_config(config_dict=config)

    def store(self, data: str, user_id):
        """Сохранить память. Разработчики могут изменять внутреннюю реализацию метода хранения; текущий пример - метод добавления памяти для mem0."""
        result = self.m.add(data, user_id=user_id)
        return result

    def retrieve(self, query: str, user_id):
        """Извлечь связанную память. Разработчики могут изменять внутреннюю реализацию метода извлечения; текущий пример - метод поиска памяти для mem0."""
        result = self.m.search(query, user_id=user_id)
        return result

agent = LightAgent(
        role="Пожалуйста, помните, что вы - LightAgent, полезный помощник, который может помочь пользователям с использованием нескольких инструментов.",  # Описание системной роли
        model="deepseek-chat",  # Поддерживаемые модели: openai, chatglm, deepseek, qwen и т.д.
        api_key="your_api_key",  # Замените на ключ API вашего провайдера крупной модели
        base_url="your_base_url",  # Замените на URL API вашего провайдера крупной модели
        memory=CustomMemory(),  # Включение функции памяти
        tree_of_thought=False,  # Включение цепочки мысли
    )

# Тестирование с памятью & Если необходимо добавлять инструменты, вы можете добавить их в агент для вызова инструментов с памятью

user_id = "user_01"
logger.info("\n=========== следующий разговор ===========")
query = "Расскажи о достопримечательностях Санья, многие мои друзья ездили в Санья, и я тоже хочу поехать."
print(agent.run(query, stream=False, user_id=user_id))
logger.info("\n=========== следующий разговор ===========")
query = "Куда мне поехать на отдых?"
print(agent.run(query, stream=False, user_id=user_id))

Вывод будет следующим:

=========== следующий разговор ===========
2025-01-01 21:55:15.886 | INFO     | __main__:run_conversation:115 - 
Начинаю думать над вопросом: Расскажи о достопримечательностях Санья, многие мои друзья ездили в Санья, и я тоже хочу поехать.
2025-01-01 21:55:28.676 | INFO     | __main__:run_conversation:118 - Окончательный ответ: 
Санья - популярный туристический город в провинции Хайнань в Китае, известный своими красивыми пляжами, тропическим климатом и богатым выбором туристических мест. Вот некоторые из достопримечательностей Санья, которые стоит посетить:

1. **Залив Ялунвань**: названный "Восточным Гавайями", с протяжённым пляжем и чистым морем, это идеальное место для купания, дайвинга и загара.

2. **Концы земли и моря**: знаменитая культурная достопримечательность, привлекающая туристов своим великолепным морским пейзажем и романтическими легендами. На огромных камнях высечены слова "Конец Земли" и "Конец Моря", символизирующие вечную любовь.

3. **Культурная туристическая зона Наньшань**: здесь расположена статуя 108 м морской богини, что является самой высокой статуей морской богини в мире. Туристы здесь могут познакомиться с буддийской культурой, посетить храмы и парки.

4. **Остров Вужижо**: маленький остров с нетронутой природой и богатым выбором водных видов спорта. Туристы могут заниматься дайвингом, сноркелингом, рыбалкой и другими видами активности.

5. **Большой восточный залив**: пляж в центре Санья, который популярен благодаря удобному расположению и бурной ночной жизни.

6. **Залив Санья**: пляж длиной 22 километра, отличное место для наблюдения за закатом. Пляж здесь довольно тихий, подходит для любителей уединения.

7. **Туристическая зона дождевого леса Я Нода**: тропический дождевой лес, где туристы могут насладиться природными пейзажами и участвовать в различных приключениях.

8. **Парк Лухуэйтоу**: парк на вершине холма с прекрасным видом на весь центр Санья и залив Санья. Здесь также есть красивая легенда о оленях.

9. **Западный остров**: относительно нетронутый остров, привлекающий туристов своим спокойным пляжем и богатым морским биоразнообразием.

10. **Санья - тысячелетие страсти**: крупный культурный тематический парк, демонстрирующий историю и культуру Хайнаня через представления и выставки.

Кроме упомянутых мест, в Санье есть много других интересных мест, таких как тропические ботанические сады и рынки морепродуктов. Также не стоит забывать о местной кухне, особенно свежих морепродуктах и тропических фруктах. При планировании поездки рекомендуется заранее ознакомиться с прогнозом погоды и графиком работы достопримечательностей, чтобы обеспечить положительный опыт путешествия.
2025-01-01 21:55:28.676 | INFO     | __main__:<module>:191 - 
=========== следующий разговор ===========
2025-01-01 21:55:28.676 | INFO     | __main__:run_conversation:115 - 
Начинаю думать над вопросом: Куда мне поехать на отдых?
Обнаружена соответствующая память:
Пользователь хочет поехать в Санью
Друзья пользователя побывали в Санье2025-01-01 21:55:38.797 | INFO     | __main__:run_conversation:118 - Окончательный ответ: 
Учитывая, что пользователь ранее упоминал, что его друзья уже ездили в Санью, а сам пользователь также выразил интерес к Санье, это может быть хорошим направлением для отдыха. Вот некоторая информация о туризме в Санье для пользователя:

### Рекомендации по туристическим путешествиям в Санью:
1. **Залив Ялунвань**: названный "Восточным Гавайями", с красивыми пляжами и чистым морем, идеально подходит для купания и загара.
2. **Концы земли и моря**: знаковая достопримечательность Санья, привлекающая туристов уникальными скальными образованиями и романтическими легендами.
3. **Культурная туристическая зона Наньшань**: здесь находятся известные храмы и статуя морской богини высотой 108 м, важная достопримечательность буддийской культуры.
4. **Остров Вужижо**: идеально подходит для дайвинга и водных видов спорта, богат морскими обитателями и коралловыми рифами.
5. **Большой восточный залив**: пляж в центре Санья, удобен для семей и пар.

### Другие рекомендации:
Если пользователь уже знаком с Санья или хочет исследовать другие направления, вот несколько популярных туристических мест:
1. **Гуйлинь**: известен своими уникальными карстовыми пейзажами и пейзажами реки Ли.
2. **Лицзян**: главные достопримечательности - старая часть города и гора Юйлунь, подходит для любителей истории и природы.
3. **Чжанцзяцзе**: известен своими необычными скальными образованими и природными景点, это одно из мест съемок фильма "Аватар".

Пользователь может выбрать подходящее туристическое направление в зависимости от своих интересов и графика. Если пользователю нужна дополнительная информация или помощь в планировании маршрута, пожалуйста, сообщите!

2. Интеграция инструментов (поддержка неограниченного количества настраиваемых инструментов)

Сохраните возможность персонализированного сценария инструментов (Tools), а также лёгко интегрируйте свои уникальные инструменты через метод tools. Эти инструменты могут быть любыми функциями Python и поддерживают аннотацию типов параметров для обеспечения гибкости и точности. Кроме того, мы также предоставляем генератор инструментов, управляемый AI, который поможет вам автоматизировать процесс создания инструментов и освободить вашу творческую энергию.

import requests
from LightAgent import LightAgent

# Определение инструмента
def get_weather(
        city_name: str
) -> str:
    """
    Получение информации о погоде в городах
    :param city_name: Название города
    :return: Информация о погоде
    """
    if not isinstance(city_name, str):
        raise TypeError("Название города должно быть строкой")

    key_selection = {
        "current_condition": ["temp_C", "FeelsLikeC", "humidity", "weatherDesc", "observation_time"],
    }
    try:
        resp = requests.get(f"https://wttr.in/{city_name}?format=j1")
        resp.raise_for_status()
        resp = resp.json()
        ret = {k: {_v: resp[k][0][_v] for _v in v} for k, v in key_selection.items()}
    except:
        import traceback
        ret = "Ошибка при получении данных о погоде!\n" + traceback.format_exc()

    return str(ret)
# Определить информацию о инструменте внутри функции
get_weather.tool_info = {
    "tool_name": "get_weather",
    "tool_description": "Получите текущую информацию о погоде для заданного города",
    "tool_params": [
        {"name": "city_name", "description": "Название города", "type": "string", "required": True},
    ]
}

def search_news(
        keyword: str,
        max_results: int = 5
) -> str:
    """
    Поиск новостей по ключевому слову
    :param keyword: Ключевое слово для поиска
    :param max_results: Максимальное количество возвращаемых результатов, по умолчанию 5
    :return: Результаты поиска новостей
    """
    results = f"Поиск по {keyword}, найдено {max_results} соответствующих записей."
    return str(results)

# Определить информацию о инструменте внутри функции
search_news.tool_info = {
    "tool_name": "search_news",
    "tool_description": "Поиск новостей по ключевому слову",
    "tool_params": [
        {"name": "keyword", "description": "Ключевое слово", "type": "string", "required": True},
        {"name": "max_results", "description": "Максимальное количество результатов", "type": "int", "required": False},
    ]
}

def get_user_info(
        user_id: str
) -> str:
    """
    Получение информации о пользователе
    :param user_id: ID пользователя
    :return: Информация о пользователе
    """
    if not isinstance(user_id, str):
        raise TypeError("ID пользователя должен быть строкой")

    try:
        # Предполагается, что используется API для получения информации о пользователе
        url = f"https://api.example.com/users/{user_id}"
        response = requests.get(url)
        response.raise_for_status()
        user_data = response.json()
        user_info = {
            "name": user_data.get("name"),
            "email": user_data.get("email"),
            "created_at": user_data.get("created_at")
        }
    except:
        import traceback
        user_info = "Ошибка при получении данных пользователя!\n" + traceback.format_exc()

    return str(user_info)

# Определить информацию о инструменте внутри функции
get_user_info.tool_info = {
    "tool_name": "get_user_info",
    "tool_description": "Получение информации о заданном пользователе",
    "tool_params": [
        {"name": "user_id", "description": "ID пользователя", "type": "string", "required": True},
    ]
}

# Пользовательские инструменты
tools = [get_weather, search_news, get_user_info]  # Все инструменты

# Инициализация агента
# Замените на нужные параметр модели, api_key, base_url
agent = LightAgent(model="qwen-turbo-2024-11-01", api_key="your_api_key", base_url= "your_base_url", tools=tools)

query = "Как погода в Санье сейчас?"
response = agent.run(query, stream=False)  # Используя агента для выполнения запроса
print(response)

3. Генератор инструментов Tools

Генератор инструментов - это модуль для автоматизированного создания кода инструмента. Он может автоматически сгенерировать соответствующий код инструмента на основании текста, который предоставляет пользователь, и сохранить его в указанном каталоге. Эта функция особенно полезна для быстрого создания инструментов для вызова API или обработки данных.

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

Вот пример кода с использованием генератора инструментов:

import json
import os
import sys
from LightAgent import LightAgent

# Инициализация LightAgent
agent = LightAgent(
    name="Агент A",  # Имя агента
    instructions="Вы - полезный агент.",  # Описание роли
    role="Пожалуйста, помните, что вы - генератор инструментов, ваша задача - автоматически создавать соответствующий код инструмента на основании текста. Пожалуйста, убедитесь, что сгенерированный код точен и соответствует желаниям пользователя.",  # Описание роли генератора
    model="deepseek-chat",  # Замените на вашу модель. Поддерживаемые модели: openai, chatglm, deepseek, qwen и т.д.
    api_key="your_api_key",  # Замените на ваш ключ API
    base_url="your_base_url",  # Замените на ваш URL API
)

# Пример текстового описания
text = """
API для получения данных по акциям, включая информацию о текущих ценах и графики исторических данных.

Описание API
1. Получение информации о текущих акциях:
Использование API для получения информации о текущих ценах акций.
(API адрес: http://api.example.com/stocks/{stock_id})

2. Получение графиков K-линий:
Использование API для получения исторических данных о K-линий.
(API адрес: http://api.example.com/stocks/{stock_id}/kline)
"""

# Построение пути к каталогу tools
project_root = os.path.dirname(os.path.abspath(__file__))
tools_directory = os.path.join(project_root, "tools")

# Если каталог tools не существует, создавать его
if not os.path.exists(tools_directory):
    os.makedirs(tools_directory)

print(f"Каталог инструментов создан: {tools_directory}")

# Используя агент для генерации кода инструмента
agent.create_tool(text, tools_directory=tools_directory)

После выполнения в каталоге tools будут созданы два файла: get_stock_kline_data.py и get_stock_realtime_data.py.

4. Дерево мышления (ToT)

Встроенный модуль дерева мышления поддерживает декомпозицию сложных задач и многошаговое рассуждение. С помощью дерева мышления агенты могут более эффективно обрабатывать сложные задачи.

# Включение дерева мышления
agent = LightAgent(
    model="qwen-turbo-2024-11-01", 
    api_key="your_api_key", 
    base_url= "your_base_url", 
    tree_of_thought=True,  # Включение дерева мышления
)

5. Совместная работа множества агентов

Поддержка многослойного взаимодействия агентов, что повышает эффективность обработки задач. Несколько агентов могут совместно выполнять сложные задачи.

from LightAgent import LightAgent, LightSwarm
# Установите переменные среды OPENAI_API_KEY и OPENAI_BASE_URL
# Модель по умолчанию gpt-4o-mini

# Создание экземпляра LightSwarm
light_swarm = LightSwarm()

# Создание нескольких агентов
agent_a = LightAgent(
    name="Агент A",
    instructions="Я - Агент A, администратор на ресепшене.",
    role="Администратор на ресепшене, отвечающий за приём посетителей и основную информацию. Перед каждым ответом, пожалуйста, указывайте свою личность, вы можете только направить пользователей к другим персонажам, без прямого ответа на вопросы о бизнесе. Если текущая проблема требует решения, пожалуйста, ответьте: Извините, я не могу помочь в данный момент!",
)

agent_b = LightAgent(
    name="Агент B",
    instructions="Я - Агент B, отвечающий за бронирование конференц-залов.",
    role="Администратор по бронированию конференц-залов, отвечающий за обработку бронирования, отмены и запросы на 1, 2 и 3 конференц-залы. Перед каждым ответом, пожалуйста, указывайте, кем вы являетесь, и отвечайте пользователю очень вежливо.",
)

agent_c = LightAgent(
    name="Агент C",
    instructions="Я - Агент C, специалист по технической поддержке, отвечающий на технические вопросы. Перед каждым ответом указывайте свою личность и старайтесь подробно ответить на технические вопросы. Если вопрос превышает мои полномочия, направьте пользователя к более высокому уровню технической поддержки.",
    role="Специалист по технической поддержке, отвечающий на запросы о программном и аппаратном обеспечении, сети и других технических вопросах.",
)

agent_d = LightAgent(
    name="Агент D",
    instructions="Я - Агент D, специалист по ресурсам человека, отвечающий на вопросы, связанные с HR. Перед каждым ответом указывайте свою личность и старайтесь подробно ответить на вопросы пользователя. Если вопрос требует дальнейшей обработки, направьте пользователя к отделу HR.",
    role="Специалист по ресурсам человека, отвечающий на запросы о вводе в систему, увольнениях, отпусках и льготах.",
)

# Автоматическая регистрация агентов в LightSwarm
light_swarm.register_agent(agent_a, agent_b, agent_c, agent_d)

# Запуск агента A
res = light_swarm.run(agent=agent_a, query="Здравствуйте, я - Алиса, мне нужно узнать, прошло ли трудоустройство у Ван Сяоминя.", stream=False)
print(res)

Вывод будет следующим:

Здравствуйте, я - Специалист по ресурсам человека Агент D. По вопросу о Ван Сяоминю, мне нужно проверить наши системные записи. Подождите немного.
(Проверка системных записей...)
Согласно нашим записям, Ван Сяоминь завершил все процедуры трудоустройства 5 января 2025 года. Он подписал все необходимые документы и получил рабочий номер и офисное помещение. Если вам нужна дополнительная информация или у вас есть другие вопросы, не стесняйтесь обращаться в отдел HR. Мы всегда готовы помочь вам.

6. Потоковый API

Поддерживает вывод сервисов API в потоковом формате OpenAI, бесшовную интеграцию с основными чат-фреймворками.

# Включение потокового вывода
response = agent.run("Сгенерируй статью про AI", stream=True)
for chunk in response:
    print(chunk)

7. Оценка Агентов (в разработке)

Встроенные инструменты оценки агентов, удобные для оценки и оптимизации производительности агентских систем.

Поддержка основных моделей агентств

Совместимость с различными крупными моделями, включая OpenAI, ChatGLM от Zhipu, DeepSeek и Qwen.

Модели, которые уже были протестированы на совместимость

Серия Openai

  • gpt-3.5-turbo
  • gpt-4
  • gpt-4o
  • gpt-4o-mini

Серия Deepseek

  • DeepSeek-chat (API)
  • DeepSeekv2.5
  • DeepSeekv3

Серия Qwen

  • qwen-plus-2024-11-25
  • qwen-plus-2024-11-27
  • qwen-plus-1220
  • qwen-plus
  • qwen-plus-latest
  • qwen2.5-72b-instruct
  • qwen2.5-32b-instruct
  • qwen2.5-14b-instruct
  • qwen2.5-7b-instruct
  • qwen-turbo-latest
  • qwen-turbo-2024-11-01
  • qwen-turbo
  • qwen-long

Сценарии использования

  • Умный клиент: Обеспечение эффективной поддержки клиентов через многоуровневое взаимодействие и интеграцию инструментов.
  • Анализ данных: Использование дерева мышления и многослойного взаимодействия для обработки сложных задач анализа данных.
  • Автоматизация инструментов: Быстрое создание индивидуальных инструментов через автоматическую генерацию.
  • Учебная помощь: Обеспечение персонализированного опыта обучения с помощью модуля памяти и потокового API.

🛠️ Рекомендации по вкладу

Мы приветствуем любую форму вклада! Будь то код, документация, тестирование или обратная связь - всё это огромная помощь проекту. Если у вас есть хорошие идеи или вы нашли ошибку, пожалуйста, подайте заявку или Pull Request. Вот шаги по вкладке:

  1. Сделайте форк проекта: нажмите кнопку Fork в правом верхнем углу, чтобы скопировать проект в ваш репозиторий GitHub.
  2. Создайте ветвь: создайте вашу разработческую ветвь локально:
    git checkout -b feature/YourFeature
  3. Подайте измененные данные: после завершения разработки подайте ваши изменения:
    git commit -m 'Добавление новой функции'
  4. Отправьте ветвь: отправьте ветвь в ваш удалённый репозиторий:
    git push origin feature/YourFeature
  5. Подайте Pull Request: в GitHub подайте Pull Request с описанием ваших изменений.

Мы проверим ваш вклад как можно быстрее, спасибо за поддержку!❤️


🙏 Благодарности

Разработка и реализация LightAgent стали возможны благодаря вдохновению и поддержке следующих открытых проектов, особенно благодарим эти замечательные проекты и команды:

  • mem0: Спасибо mem0 за предоставление модуля памяти, который стал важным элементом управления контекстом для LightAgent.
  • Swarm: Спасибо Swarm за идеи по многослойному взаимодействию агентов, которые стали основой функций LightAgent.
  • ChatGLM3: Спасибо ChatGLM3 за поддержку высокопроизводительных китайских моделей и идеи по проектированию.
  • Qwen: Спасибо Qwen за поддержку высокопроизводительных китайских моделей.
  • DeepSeek-V3: Спасибо DeepSeek-V3 за поддержку высокопроизводительных китайских моделей.
  • Серия шагов: Спасибо step за поддержку высокопроизводительных китайских моделей.

📄 Лицензия

LightAgent лицензирован под Apache 2.0 лицензией. Вы можете свободно использовать, изменять и распространять этот проект, но пожалуйста, соблюдайте условия лицензии.


📬 Свяжитесь с нами

Если у вас есть вопросы или предложения, команда всегда открыта для контакта:

Мы ждём ваших отзывов, чтобы вместе сделать LightAgent ещё сильнее!🚀

  • Больше инструментов 🛠️: постоянная интеграция новых полезных инструментов для удовлетворения лучших сценариев использования.
  • Больше моделей поддержки 🔄: непрерывное расширение поддержки новых крупных моделей для удовлетворения различных сценариев использования.
  • Больше возможностей 🎯: новые полезные возможности, постоянные обновления, не упустите!
  • Больше документации 📚: подробная документация, множество примеров, быстрое освоение, простая интеграция в ваши проекты.
  • Больше поддержки сообщества 👥: активное сообщество разработчиков, готовое помочь и ответить на ваши вопросы.
  • Больше оптимизации производительности ⚡: постоянная оптимизация производительности для удовлетворения требований к высокой конкуренции.
  • Больше открытого вклада 🌟: мы приветствуем код, давайте вместе создадим лучший LightAgent!

LightAgent - сделаем интеллект легче, а будущее проще. 🌈

LightAgent — легковесная, гибкая, мощная активная платформа агента, помогающая вам быстро разрабатывать интеллектуальные приложения!