■ Settings 클래스의 llm 정적 변수를 사용해 LLM을 커스텀 설정하는 방법을 보여준다.
▶ 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 |
import os from llama_index.core import Settings, SimpleDirectoryReader, GPTVectorStoreIndex from llama_index.llms.openai import OpenAI os.environ["OPENAI_API_KEY"] = "<OPENAI_API_KEY>" simpleDirectoryReader = SimpleDirectoryReader(input_dir = "/home/king/data") documentList = simpleDirectoryReader.load_data() Settings.llm = OpenAI( model = "gpt-3.5-turbo", # 모델명 temperature = 0.1 # 온도 ) vectorStoreIndex = GPTVectorStoreIndex.from_documents(documentList) retrieverQueryEngine = vectorStoreIndex.as_query_engine() answer1 = retrieverQueryEngine.query("미코의 소꿉친구 이름은?" ) answer2 = retrieverQueryEngine.query("울프 코퍼레이션의 CEO 이름은?") answer3 = retrieverQueryEngine.query("미코의 성격은?" ) print(f"미코의 소꿉친구 이름 : {answer1}") print(f"울프 코퍼레이션 CEO 이름 : {answer2}") print(f"미코의 성격은 :\n{answer3}") |
▶ 실행 결과
1 2 3 4 5 6 |
미코의 소꿉친구 이름 : 료 울프 코퍼레이션 CEO 이름 : 교활한 울프 박사 미코의 성격은 : 미코는 울프 박사와의 결전에서 용감하고 결의가 강한 모습을 보여주며, 료와의 협력을 통해 약점을 찾아내는 능력을 보여줍니다. 이후 울프 코퍼레이션이 무너진 후에는 용서하고 우정을 회복하는 따뜻하고 이해심 깊은 성품을 보여주며, 새로운 도전에 대한 열정과 결의를 갖고 있습니다. |
▶ 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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
aiohttp==3.9.5 aiosignal==1.3.1 annotated-types==0.7.0 anyio==4.4.0 async-timeout==4.0.3 attrs==23.2.0 beautifulsoup4==4.12.3 certifi==2024.6.2 charset-normalizer==3.3.2 click==8.1.7 dataclasses-json==0.6.6 Deprecated==1.2.14 dirtyjson==1.0.8 distro==1.9.0 exceptiongroup==1.2.1 frozenlist==1.4.1 fsspec==2024.6.0 greenlet==3.0.3 h11==0.14.0 httpcore==1.0.5 httpx==0.27.0 idna==3.7 joblib==1.4.2 jsonpatch==1.33 jsonpointer==2.4 langchain==0.2.3 langchain-core==0.2.5 langchain-text-splitters==0.2.1 langsmith==0.1.75 llama-index==0.10.43 llama-index-agent-openai==0.2.7 llama-index-cli==0.1.12 llama-index-core==0.10.43 llama-index-embeddings-openai==0.1.10 llama-index-indices-managed-llama-cloud==0.1.6 llama-index-legacy==0.9.48 llama-index-llms-openai==0.1.22 llama-index-multi-modal-llms-openai==0.1.6 llama-index-program-openai==0.1.6 llama-index-question-gen-openai==0.1.3 llama-index-readers-file==0.1.23 llama-index-readers-llama-parse==0.1.4 llama-parse==0.4.4 llamaindex-py-client==0.1.19 marshmallow==3.21.3 multidict==6.0.5 mypy-extensions==1.0.0 nest-asyncio==1.6.0 networkx==3.3 nltk==3.8.1 numpy==1.26.4 openai==1.32.0 orjson==3.10.3 packaging==23.2 pandas==2.2.2 pillow==10.3.0 pydantic==2.7.3 pydantic_core==2.18.4 pypdf==4.2.0 python-dateutil==2.9.0.post0 pytz==2024.1 PyYAML==6.0.1 regex==2024.5.15 requests==2.32.3 six==1.16.0 sniffio==1.3.1 soupsieve==2.5 SQLAlchemy==2.0.30 striprtf==0.0.26 tenacity==8.3.0 tiktoken==0.7.0 tqdm==4.66.4 typing-inspect==0.9.0 typing_extensions==4.12.1 tzdata==2024.1 urllib3==2.2.1 wrapt==1.16.0 yarl==1.9.4 |