본문 바로가기
스크립트 공유

매크로 자동글짓기

by 업무자동화 2023. 2. 16.
반응형

무료 매크로 프로그램 다운로드

http://ngmsoftware.com/bbs/board.php?bo_table=product1&wr_id=32 

 

엔지엠소프트웨어

엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.

www.ngmsoftware.com

#매크로 #매크로프로그램 #메크로 #g매크로 #마우스매크로 #키보드매크로 #엑셀매크로 #키매크로 #수강신청매크로 #로지텍마우스매크로 #매크로키보드 #파이썬매크로 #매크로뜻 #매크로마우스 #로지텍매크로 #ld플레이어매크로 #오토마우스매크로 #키보드마우스매크로 #오토핫키매크로 #이미지매크로 #이미지인식매크로 #하드웨어매크로 #화면인식매크로 #선착순매크로 #이미지서치매크로 #한글매크로 #심플핫키 #simplehotkey #지존매크로 #아이엠택시

 

  • 엔지엠 무료: 무료 (전체 기능의 50프로)
  • 엔지엠 커뮤니티 월 이용료: 4,500원, 1년 이용료: 55,000원 (전체 기능의 80프로)
  • 엔지엠 얼티밋 월 이용료: 6,500원, 1년 이용료: 77,000원 (전체 기능의 90프로)
  • 엔지엠 엔터프라이즈 월 이용료: 9,200원, 1년 이용료: 110,000원 (전체 기능 사용)

 

안녕하세요. 엔지엠소프트웨어입니다. 오늘은 OpenAI의 Open API를 이용해서 질문을 입력하면 답변들 받을 수 있는 커스텀 모듈(Custom Module)를 만들어 보도록 하겠습니다. 커스텀 모듈 제작에 대한 기초적인 내용은 이미 학습하시고 오셨다는 가정하에 핵심 내용만 간추려서 진행하도록 할께요^^; 우선, 아래 글을 참고하셔서 OpenAI에 회원 가입하고 API 키를 확인하세요.

[ OpenAI 회원 가입 및 테스트 ]

 

API 키는 아래 그림처럼 자신의 계정을 클릭하면 확인할 수 있습니다.

 

 

View API Keys를 클릭하세요.

 

 

Create new secret key 버튼을 클릭하세요.

 

 

복사하기 버튼을 클릭하세요. 그리고, 클립보드에 복사된 Open API 키를 메모장이나 어딘가에 붙여넣기 해놓고 저장하세요. 나중에 사용해야 하거든요~

 

 

Visual Studio를 실행하고, 새로운 프로젝트를 하나 생성하세요. 이 예제에서는 CustomOpenAI 이름으로 닷넷 라이브러리 프로젝트를 만들었습니다.

 

 

기본 클래스(Class1.cs)는 CustomOpenAIModel.cs로 이름을 변경하세요. 프로젝트의 참조 추가에 아래 그림과 같이 엔지엠 매크로의 커스텀 인터페이스 모듈 3개를 추가하세요. 엔지엠 매크로 인터페이스 모듈은 엔터프라이즈 라이센스를 가진 분들만 사용할 수 있습니다. 관리자에게 요청해야 받을 수 있습니다.

 

 

기본적인 내용을 아래와 같이 작성 해주세요.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing.Design;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CustomOpenAI
{
    [Serializable]
    public class CustomOpenAIModel : NGM.Models.Interface.BaseCustomToolModel
    {
        public override string DisplayCategory => "OpenAI";

        public override string DisplayName => "OpenAI QA";

 

질문을 입력받고, 답변을 표시할 속성(Property)들을 만드세요. 추가적인 정보가 필요하면 더 만들어도 되지만, 저는 3개만 추가 해두었습니다. 만약, Open API 키를 내부에 심어두려면 두번째 API Key 속성은 삭제해도 됩니다. 그러나, 범용적인 프로그램을 만들기 위해서 사용자 각각의 키를 사용하도록 유도하는게 좋을겁니다. 이렇게 사용자가 제어할 수 있는 부분들을 많이 만들어두면 좀 더 유연한 프로그램이 됩니다.

        [Category("Data")]
        [DisplayName("답변")]
        [Description("사용자 질문에 대한 답변입니다.")]
        [Browsable(true)]
        [DefaultValue(null)]
        [Editor(typeof(MultilineStringEditor), typeof(UITypeEditor))]
        public string Result { get; set; }

        [Category("Action")]
        [DisplayName("API Key")]
        [Description("OpenAI의 Open API의 키를 입력하세요.")]
        [Browsable(true)]
        [DefaultValue(null)]
        [Editor(typeof(MultilineStringEditor), typeof(UITypeEditor))]
        public string ApiKey { get; set; }

        [Category("Action")]
        [DisplayName("질문")]
        [Description("OpenAI에게 질문할 내용을 작성하세요.")]
        [Browsable(true)]
        [DefaultValue(null)]
        [Editor(typeof(MultilineStringEditor), typeof(UITypeEditor))]
        public string Question { get; set; }

 

이제 OpenAI와 Open API 통신을 위한 코드를 아래 Execute 메소드에 작성해야 합니다.

        public override void Execute()
        {
            
        }

 

코드를 작성하기는 어려우니... OpenAI에게 일단 물어봅시다. 질문은 "openai와 open api로 통신하는 C# 코드 작성해줘"와 같이 입력했습니다. 답변은 아래와 같구요.

 

 

OpenAI가 알려준 코드에서 static void Main에 있는 코드만 복사해서 Execute 메소드 안에 붙여넣기 해줍니다.

        public override void Execute()
        {
            string url = "https://api.openai.com/v1/engines/davinci/completions";
            string query = "{\"prompt\": \"Hello world\", \"temperature\": 0.7}";
            string secret = "YOUR_SECRET_KEY";

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.Method = "POST";
            request.Headers.Add("Authorization", "Bearer " + secret);
            request.ContentType = "application/json";

            using (StreamWriter writer = new StreamWriter(request.GetRequestStream()))
            {
                writer.Write(query);
            }

            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
            {
                using (StreamReader reader = new StreamReader(response.GetResponseStream()))
                {
                    string responseString = reader.ReadToEnd();
                    Console.WriteLine(responseString);
                }
            }
        }

 

코드에서 "YOUR_SECRET_KEY"를 API Keys에서 복사해두었던 값으로 대체하세요. 그리고, 프로젝트를 컴파일(Compile) 또는 빌드(Build)하면 bin 폴더에 아래와 같은 라이브러리가 만들어집니다. 저는 엔지엠 매크로에서 라이브러리를 쉽게 찾도록 바탕화면에 따로 복사 해두었습니다.

 

 

엔지엠 매크로를 실행하세요. 상단 메뉴의 관리자를 선택하고, 도구 모듈 설치 버튼을 클릭하세요.

 

 

바탕화면에 복사해둔 라이브러리를 선택하면 아래 그림과 같이 커스텀 모듈이 엔지엠 매크로에 설치됩니다.

 

 

새로운 스크립트를 하나 추가하세요.

 

 

사용자 도구 상자에 보면 방금 설치한 OpenAI가 보일겁니다. 더블 클릭하거나 드래그해서 스크립트에 추가하세요.

 

 

크리스마스가 쉬는날인지 물어볼까요?

 

 

아래와 같은 답변을 받았습니다.

네, 크리스마스는 주로 휴식을 취하는 날입니다.

 

이외에도 다양한 여러가지 질문들을 해봤는데요. 아무래도 검색해서 나온 정보를 알려주는것도 있는거 같아요. 자연어를 처리할 수 있다는것만 해도 대단한거 같긴하지만요. 유튜브에 보면 GPT-3로 코딩을하면 개발자를 대체할거라는 말들이 많아요. 언젠가는 그렇게 될 수 있을지도 모르겠지만~ 갈길이 아직은 멀지 않았을까 생각됩니다. 기획이나 구조 설계, 디자인 패턴, OOP등등... 인공지능이 대체하기 어려운 부분들도 있습니다. 저는 아직 10년은 더 먹고 살수 있을거 같아요^^; 10년 후에는 인공지능이 많은 부분을 대체할겁니다. 이제~ 또다른 먹거리를 찾아봐야 할거 같아요.

 

 

OpenAI의 답변

대단히 어렵다. 인공지능은 복잡한 소프트웨어를 구축하거나 기존의 프로그램을 보완하기 위해 프로그래밍 언어를 사용하는 능력이 없다. 
그러나 인공지능이 미래에 개발자를 완전히 대체하지는 않을 것으로 예상된다. 
인공지능은 개발자의 일부 업무를 대신해줄 수 있고, 개발자가 개발 작업을 더 효율적으로 수행할 수 있도록 돕는 데 큰 도움이 될 것이다.

 

 

[ 각종 자동화 매크로 및 RPA 프로그램 제작 해드립니다. ]

[ 초보자도 쉽게 따라할 수 있는 기초 학습 강좌 보기 ]

 

원본 글 보기

http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech 

 

엔지엠소프트웨어

엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.

www.ngmsoftware.com

#비활성매크로 #g102매크로 #철권매크로 #레이저마우스매크로 #ghub매크로 #녹화매크로 #키보드반복매크로 #로지텍마우스광클매크로 #플라스크매크로 #윈도우매크로 #비활성g매크로 #오토매크로 #자동사냥 #주식매크로 #오토핫키키보드 #오토핫키마우스 #오토핫키이미지 #지존오토 #기계식매크로 #하드웨어매크로 #무한반복매크로 #대량이메일발송매크로 #엑셀VBA매크로 #주식모니터링매크로 #이미지맥스 #심플핫키 #오토클리커 #UiPath #Brity #스푸퍼 #DKOM #모바일게임매크로 #다클라매크로 #다계정매크로 #인스타그램매크로

반응형

댓글