paint-brush
Как создавать плагины с нуля в Coze: CoinGeckoк@bennykillua
536 чтения
536 чтения

Как создавать плагины с нуля в Coze: CoinGecko

к killua9m2024/10/23
Read on Terminal Reader

Слишком долго; Читать

Научитесь создавать плагин с нуля в Coze. Разработчики могут создавать собственные плагины, такие как плагин CoinGecko.
featured image - Как создавать плагины с нуля в Coze: CoinGecko
killua HackerNoon profile picture

P.S. Это руководство по проектированию чат-бота на основе искусственного интеллекта в рамках конкурса написания чат-ботов на основе искусственного интеллекта от Coze и HackerNoon!


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


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


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

Что такое плагин?

Плагины — это программные надстройки, которые расширяют возможности вашего приложения или программ без переписывания или изменения исходного кода. Плагины часто достигают этого путем интеграции в кодовую базу вашего приложения через интерфейс прикладного программирования (API) или любые другие точки интеграции, предлагаемые основной программой. Процесс обычно проходит гладко.



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

Что такое Козе?

Coze — это платформа, которая позволяет пользователям создавать, настраивать и развертывать ботов ИИ с использованием подхода low-code/no-code через социальные платформы. Таким образом, это в значительной степени демократизирует весь процесс чат-бота ИИ для всех. Платформа также поставляется с инструментами, плагинами, многоагентным режимом и функциями знаний и памяти, которые помогают вам настраивать и расширять функциональность ботов ИИ.


Домашняя страница Coze


Как и другие платформы, Coze предлагает различные официальные плагины, адаптированные под различные отрасли. Эти плагины, такие как GPT4V, CapCut, Doc Reader и X, удовлетворяют конкретные потребности в различных категориях, включая новости и чтение, фотографию, образ жизни, науку, образование и финансы.


Кроме того, пользователи могут отправлять пользовательские плагины. В этом руководстве вы создадите один для CoinGecko , платформы-агрегатора данных криптовалют, которая позволяет пользователям отслеживать различные статистические данные по монетам, от цен криптовалют до рыночной капитализации и объема торгов.


Чтобы узнать больше о Coze, ознакомьтесь с официальным руководством пользователя Coze .

Как создать плагин CoinGecko в Coze?

В Coze вы можете создавать плагины разными способами. Вот некоторые из этих способов:

  • Импорт существующей службы API.
  • Импорт файлов JSON или YAML.
  • Через анализатор кода.
  • Через Coze IDE.
  • Добавление инструментов в плагин.


В этом руководстве вы изучите маршрут Coze IDE для сборки плагина CoinGecko . Coze IDE — это веб-интегрированная среда разработки, которая позволяет вам выполнять сборку в Node.js или Python.

Предпосылки

Для прохождения этого урока вам понадобится следующее:

  • Аккаунт Coze .
  • Аккаунт разработчика CoinGecko. Подойдет и бесплатный аккаунт, так как вам нужен базовый доступ к их API .

Создание плагина Coze через Coze IDE

Чтобы создать плагин CoinGecko, выполните следующие действия.

  1. Войдите в Coze.com и посетите рабочее пространство своей команды на панели рабочего пространства.

  2. Нажмите вкладку Plugins и нажмите Create Plug-in . Кроме того, вы можете посетить страницу Develop агента и создать Plugins.

  3. Дайте своему плагину имя, описание и значок (необязательно).

  4. В раскрывающемся списке методов создания инструмента плагина выберите «Плагин облака — Создать в Coze IDE» .

  5. Выберите Python в качестве языка программирования в среде выполнения IDE .

  6. Нажмите «Подтвердить» , чтобы перейти на страницу плагина для создания своего инструмента.


    Создать плагин Coze


    Создание инструмента для вашего плагина Coze

    Далее вам необходимо создать свой плагин.


  7. Нажмите Создать инструмент в IDE на странице Плагин .

  8. Дайте вашему инструменту название и описание.

  9. Нажмите «Подтвердить» , чтобы перейти на страницу Coze IDE , где вы сможете написать код своего инструмента.

Кодирование вашего плагина Coze

  1. Нажмите значок + на панели Packages слева, чтобы добавить зависимости. Здесь вам нужно установить пакет r quests , чтобы мы могли отправлять HTTP.


    Установка любого пакета туда позволяет использовать его любому инструменту в вашем плагине.


  2. Посетите панель инструментов разработчика CoinGecko, чтобы получить свой ключ API CoinGecko.

  3. На вкладке Код напишите свой код на основе шаблона, предоставленного Coze. Важно, чтобы вы не удаляли и не изменяли метод обработчика, так как это приведет к сбою. Базовый URL был получен из документов по аутентификации.

 from runtime import Args import requests API_KEY = "****" BASE_URL = "https://api.coingecko.com/api/v3" def get_coin_data(coin_id: str, currency: str = "usd", logger=None): endpoint = f"{BASE_URL}/coins/markets" params = { "vs_currency": currency, "ids": coin_id.lower(), # Convert to lowercase "x_cg_demo_api_key": API_KEY } try: response = requests.get(endpoint, params=params) response.raise_for_status() # Raise an exception for bad status codes data = response.json() if logger: logger.info(f"API Response: {data}") return data except requests.RequestException as e: if logger: logger.error(f"API Request failed: {str(e)}") return {"error": f"API request failed: {str(e)}"} def handler(args: Args) -> dict: args.logger.info(f"Received args: {args}") args.logger.info(f"Type of args.input: {type(args.input)}") args.logger.info(f"Content of args.input: {args.input}") # Handle CustomNamespace object if hasattr(args.input, 'coin_id') and hasattr(args.input, 'currency'): coin_id = getattr(args.input, 'coin_id', 'bitcoin') currency = getattr(args.input, 'currency', 'usd') else: return { "message": f"Error: Invalid input format. Expected CustomNamespace with coin_id and currency attributes. Input: {args.input}", "data": None } args.logger.info(f"Processed input - coin_id: {coin_id}, currency: {currency}") try: coin_data = get_coin_data(coin_id, currency, args.logger) if "error" in coin_data: return { "message": f"Error: {coin_data['error']}", "data": None } else: # Check if we got any data if not coin_data: return { "message": f"No data found for {coin_id}", "data": None } # Assuming the API returns a list with one item for the specified coin coin_info = coin_data[0] if coin_data else {} return { "message": f"Successfully retrieved data for {coin_id}", "data": { "name": coin_info.get("name"), "symbol": coin_info.get("symbol"), "current_price": coin_info.get("current_price"), "market_cap": coin_info.get("market_cap"), "price_change_24h": coin_info.get("price_change_24h") } } except Exception as e: args.logger.error(f"An error occurred: {str(e)}") return { "message": f"An error occurred while processing the request: {str(e)}", "data": None } 



  1. Нажмите вкладку «Метаданные» , чтобы добавить метаданные для инструмента.
  2. Нажмите «Изменить» и «Добавить параметры» , чтобы добавить их в качестве входных и выходных параметров в инструмент API CoinGecko. Это ваши параметры:
    • Входные параметры: coin_id (строка): идентификатор криптовалюты (например, «bitcoin», «ethereum»).

    • Входные параметры: валюта (строка): целевая валюта для рыночных данных (например, «usd», «eur»).

    • Выходные параметры: сообщение (строка): сообщение, указывающее статус запроса.

    • Выходные параметры: данные (объект): внутри этого объекта данных используйте эти параметры.

    • В параметрах выходных данных: имя (строка): Название криптовалюты.

    • В параметрах выходных данных: символ (строка): символ криптовалюты.

    • В параметрах вывода данных: current_price (число): Текущая цена в указанной валюте.

    • В параметрах вывода данных: market_cap (число): рыночная капитализация в указанной валюте.

    • В параметрах вывода данных: price_change_24h (число): изменение цены за последние 24 часа.


      Метабаза в Козе


Метаданные позволяют вашему инструменту Coze знать, чего ожидать и извлекать из пользователей, а также как им отвечать.

Тестирование и публикация вашего плагина Coze

  1. Введите входной параметр на вкладке Тестовый код для тестирования и запустите свой плагин.

  2. Нажмите «Выполнить» .


  3. Просмотрите выходное значение , чтобы увидеть реакцию вашего инструмента.

  4. Просмотрите журналы на панели консоли , чтобы узнать, была ли операция успешной или возникли ошибки.

  5. Нажмите «Опубликовать» , чтобы опубликовать плагин, если тест пройден успешно.

  6. Отметьте Нет в диалоговом окне Заявление о сборе конфиденциальной информации, так как наш плагин не собирает данные пользователей. Однако, если ваш плагин требует данные пользователей, отметьте Да .


    Заявление о конфиденциальности в Coze



  7. Нажмите «Опубликовать» . Перейдите в магазин и изучите этот плагин CoinGecko .

    Что такое плагин?

    Плагины — эффективные способы интеграции и расширения возможностей ваших приложений без изменения исходного кода. Используя возможности плагина Coze, вы можете создавать приложения ИИ и расширять их возможности путем интеграции с любыми официальными плагинами Coze.


    Не можете найти нужный плагин? Теперь вы можете без усилий создать собственный плагин с любым выбранным вами API. Это упрощает повышение вовлеченности пользователей и расширение функций вашего приложения. Узнайте больше об инструменте, изучив их YouTube .


    Если вы дочитали до этого места, я это ценю! Вы можете связаться со мной в Twitter , LinkedIn , или iheifeanyi [at] gmail.com


    Пожалуйста, поставьте лайк или оставьте комментарий. Спасибо! ❤️🚀🙏🏽