■ RunnableSequence 클래스의 batch 메소드에서 config 인자를 사용해 동시 작업 수를 설정하는 방법을 보여준다.
※ OPENAI_API_KEY 환경 변수 값은 .env 파일에 정의한다.
▶ main.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
from dotenv import load_dotenv from langchain_core.prompts import PromptTemplate from langchain_openai import ChatOpenAI from langchain_core.output_parsers import StrOutputParser load_dotenv() promptTemplate = PromptTemplate.from_template("{topic}에 대해 3문장으로 설명해주세요.") chatOpenAI = ChatOpenAI( model_name = "gpt-4o", # 모델명 max_tokens = 2048, # 최대 토큰 수 temperature = 0.7, # 창의성 (0.0 ~ 2.0) ) strOutputParser = StrOutputParser() runnableSequence = promptTemplate | chatOpenAI | strOutputParser responseList = runnableSequence.batch( [ {"topic" : "ChatGPT" }, {"topic" : "Instagram" }, {"topic" : "멀티모달" }, {"topic" : "프로그래밍"}, {"topic" : "머신러닝" } ], config = {"max_concurrency" : 3} ) for response in responseList: print(response) print() """ ChatGPT는 OpenAI가 개발한 대화형 인공지능 모델로, 자연어 처리를 통해 인간과 유사한 대화를 할 수 있습니다. 다양한 주제에 대해 질문을 이해하고 답변할 수 있으며, 정보 제공, 조언, 창작 등의 용도로 사용됩니다. 지속적인 학습과 업데이트를 통해 점점 더 정교하고 유용한 대화를 제공합니다. Instagram은 사진과 동영상을 공유하는 소셜 미디어 플랫폼입니다. 사용자는 다양한 필터와 편집 도구를 사용해 콘텐츠를 꾸미고, 해시태그와 위치 태그를 통해 더 넓은 사용자와 소통할 수 있습니다. 또한, 스토리, IGTV, 릴스 등의 기능을 통해 다양한 형식의 콘텐츠를 즐길 수 있습니다. 멀티모달(Multimodal)은 다양한 형태의 데이터를 동시에 활용하는 방법론입니다. 예를 들어 텍스트, 이미지, 음성 등 여러 가지 데이터를 결합하여 더 풍부한 정보를 제공하고 이해를 돕습니다. 이를 통해 인공지능 시스템은 인간과 유사하게 다양한 감각을 통합하여 더 정확한 의사결정과 상호작용을 수행할 수 있습니다. 프로그래밍은 컴퓨터가 특정 작업을 수행하도록 명령어를 작성하는 과정입니다. 이를 위해 다양한 프로그래밍 언어를 사용하며, 문제 해결을 위해 알고리즘과 논리적 사고가 필요합니다. 프로그램은 코드로 구성되며, 이 코드는 컴파일러나 인터프리터를 통해 컴퓨터가 이해할 수 있는 기계어로 변환됩니다. 머신러닝은 컴퓨터가 명시적으로 프로그래밍되지 않아도 데이터를 통해 학습하고 예측할 수 있게 하는 기술입니다. 이를 위해 알고리즘을 사용해 데이터로부터 패턴을 찾아내고, 그 패턴을 기반으로 새로운 데이터에 대해 예측이나 결정을 내립니다. 머신러닝은 이미지 인식, 자연어 처리, 추천 시스템 등 다양한 분야에서 활용됩니다. """ |
▶ requirements.txt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
annotated-types==0.7.0 anyio==4.6.0 certifi==2024.8.30 charset-normalizer==3.3.2 distro==1.9.0 exceptiongroup==1.2.2 h11==0.14.0 httpcore==1.0.5 httpx==0.27.2 idna==3.10 jiter==0.5.0 jsonpatch==1.33 jsonpointer==3.0.0 langchain-core==0.3.5 langchain-openai==0.2.0 langsmith==0.1.125 openai==1.47.0 orjson==3.10.7 packaging==24.1 pydantic==2.9.2 pydantic_core==2.23.4 python-dotenv==1.0.1 PyYAML==6.0.2 regex==2024.9.11 requests==2.32.3 sniffio==1.3.1 tenacity==8.5.0 tiktoken==0.7.0 tqdm==4.66.5 typing_extensions==4.12.2 urllib3==2.2.3 |
※ pip install python-dotenv langchain-openai 명령을 실행했다.