Ps. 이 튜토리얼은 Coze와 HackerNoon의 #AI-챗봇 글쓰기 콘테스트 의 #AI 챗봇 디자인을 위한 것입니다!
완벽한 세상이라면 귀하의 애플리케이션은 모든 사람을 위한 모든 기능을 갖추고 모든 사용자에게 모든 기능을 제공할 수 있을 것입니다. 하지만 안타깝게도 그보다 강력한 애플리케이션은 없으므로 플러그인이 매우 중요합니다.
플러그인은 애플리케이션의 기능과 역량을 원활하게 확장하여 애플리케이션과 나머지 기술 생태계 간의 격차를 메우는 데 도움이 됩니다. 가장 좋은 점은 플러그인이 애플리케이션 소스 코드에 본질적으로 영향을 미치지 않고 이를 수행한다는 것입니다. 이 튜토리얼은 Coze에서 처음부터 플러그인을 만드는 방법을 알려줍니다.
하지만 먼저, 플러그인이 무엇인지 알아보겠습니다.
플러그인은 원래 코드를 다시 쓰거나 변경하지 않고도 애플리케이션이나 프로그램의 기능을 향상시키는 소프트웨어 애드온입니다. 플러그인은 종종 애플리케이션 프로그래밍 인터페이스(API)나 핵심 프로그램이 제공하는 다른 통합 지점을 통해 애플리케이션의 코드베이스에 통합하여 이를 달성합니다. 이 프로세스는 일반적으로 원활합니다.
개발자인 당신에게 플러그인은 사용자에게 휠을 재투자하지 않고도 경험을 개선할 수 있는 더 많은 사용자 정의, 데이터 및 기능을 제공할 수 있게 해줍니다. 사용자에게 이는 앱에서 더 나은 경험을 의미합니다.
Coze는 사용자가 소셜 플랫폼을 통해 로우코드/노코드 접근 방식을 사용하여 AI 봇을 빌드, 사용자 지정 및 배포할 수 있는 플랫폼입니다. 따라서 모든 사람을 위해 전체 AI 챗봇 프로세스를 민주화하고 있습니다. 이 플랫폼에는 도구, 플러그인, 멀티 에이전트 모드, 지식 및 메모리 기능이 함께 제공되어 AI 봇의 기능을 사용자 지정하고 확장하는 데 도움이 됩니다.
다른 플랫폼과 마찬가지로 Coze는 다양한 산업에 맞춰진 다양한 공식 플러그인을 제공합니다. GPT4V, CapCut, Doc Reader, X와 같은 이러한 플러그인은 뉴스 및 독서, 사진, 라이프스타일, 과학, 교육, 금융을 포함한 여러 범주에 걸쳐 특정 요구 사항을 충족합니다.
또한, 사용자는 사용자 정의 플러그인을 제출할 수 있습니다. 이 튜토리얼에서는 사용자가 암호화폐 가격에서 시가총액 및 거래량에 이르기까지 다양한 코인 통계를 추적할 수 있는 암호화폐 데이터 집계 플랫폼인 CoinGecko 를 위한 플러그인을 빌드합니다.
Coze에 대해 자세히 알아보려면 공식 Coze 사용자 가이드를 확인하세요.
Coze에서는 다양한 방법으로 플러그인을 빌드할 수 있습니다. 이러한 방법 중 일부는 다음과 같습니다.
이 가이드에서는 CoinGecko 플러그인을 빌드하기 위한 Coze IDE 경로를 살펴보겠습니다. Coze IDE는 Node.js 또는 Python으로 빌드할 수 있는 웹 기반 통합 개발 환경입니다.
이 튜토리얼을 따라하려면 다음이 필요합니다.
CoinGecko 플러그인을 빌드하려면 다음 단계를 따르세요.
Coze.com 에 로그인하고 작업 공간 패널 내에서 팀 공간을 방문하세요.
플러그인 탭을 클릭하고 플러그인 생성을 클릭합니다. 또는 에이전트의 개발 페이지를 방문하여 플러그인을 생성할 수 있습니다.
플러그인의 이름, 설명, 아이콘(선택 사항)을 지정합니다.
플러그인 도구 생성 방법 드롭다운에서 Cloud Plugin - Coze IDE에서 만들기를 선택합니다.
IDE 런타임 에서 원하는 언어로 Python을 선택하세요.
확인을 클릭하면 도구를 생성할 수 있는 플러그인 페이지로 이동합니다.
다음으로, 플러그인 도구를 만들어야 합니다.
플러그인 페이지 에서 IDE에서 도구 만들기를 클릭합니다.
도구의 이름과 설명을 입력하세요.
확인을 클릭하면 Coze IDE 페이지 로 이동하여 도구에 코드를 입력할 수 있습니다.
왼쪽의 패키지 패널 에서 + 아이콘을 클릭하여 종속성을 추가합니다. 여기서는 HTTP를 보낼 수 있도록 r equests 패키지를 설치해야 합니다.
거기에 어떤 패키지라도 설치하면 플러그인에 있는 모든 도구에서 사용할 수 있습니다.
CoinGecko 개발자 대시보드를 방문하여 CoinGecko API 키를 받으세요.
코드 탭에서 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 }
입력 매개변수: coin_id(문자열): 암호화폐의 ID(예: "비트코인", "이더리움").
입력 매개변수: 통화(문자열): 시장 데이터의 대상 통화(예: "usd", "eur")
출력 매개변수: 메시지(문자열): 요청 상태를 나타내는 메시지입니다.
출력 매개변수: 데이터(객체): 이 데이터 객체 내에서 다음 매개변수를 사용합니다.
데이터 출력 매개변수: name(문자열): 암호화폐의 이름입니다.
데이터 출력 매개변수: symbol(문자열): 암호화폐의 심볼입니다 .
데이터 출력 매개변수: current_price(숫자): 지정된 통화로 환산 된 현재 가격입니다.
데이터 출력 매개변수: market_cap(숫자): 지정된 통화로 표시된 시가 총액.
데이터 출력 매개변수 내: price_change_24h(숫자): 지난 24시간 동안의 가격 변화
메타데이터를 통해 Coze 도구는 사용자에게서 무엇을 기대하고 추출해야 할지, 그리고 사용자에게 어떻게 답변해야 할지 알 수 있습니다.
테스트 코드 탭에서 입력 매개변수를 입력하여 테스트하고 플러그인을 실행합니다.
실행을 클릭합니다.
도구의 응답을 보려면 출력 값을 확인하세요.
콘솔 패널 에서 로그를 확인하여 성공했는지 아니면 오류가 있는지 확인하세요.
테스트가 성공하면 게시를 클릭하여 플러그인을 게시합니다.
개인정보 수집 성명 대화 상자에서 아니요를 체크하세요. 당사 플러그인은 사용자 데이터를 수집하지 않습니다. 그러나 플러그인에 사용자 데이터가 필요한 경우 예를 체크하세요.
게시를 클릭합니다. 스토어로 가서 이 CoinGecko 플러그인을 살펴보세요.
플러그인은 소스 코드를 변경하지 않고도 애플리케이션의 기능을 통합하고 확장하는 효과적인 방법입니다. Coze 플러그인 기능을 활용하면 AI 애플리케이션을 빌드하고 Coze의 공식 플러그인과 통합하여 기능을 확장할 수 있습니다.
원하는 플러그인을 찾을 수 없나요? 이제 선택한 모든 API로 사용자 정의 플러그인을 손쉽게 만들 수 있습니다. 이를 통해 사용자 참여를 높이고 애플리케이션의 기능을 쉽게 확장할 수 있습니다. YouTube를 탐색하여 도구에 대해 자세히 알아보세요.
여기까지 읽어주셨다면 감사합니다! Twitter , LinkedIn , 또는 iheifeanyi [at] gmail.com 에서 저와 소통할 수 있습니다.
좋아요나 댓글을 남겨주세요. 감사합니다! ❤️🚀🙏🏽