■ WikipediaQueryRun 클래스의 생성자에서 description 인자를 사용해 도구 설명을 재정의하는 방법을 보여준다. ▶ 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
|
from pydantic import BaseModel from pydantic import Field from langchain_community.utilities import WikipediaAPIWrapper from langchain_community.tools import WikipediaQueryRun class WIKIModel(BaseModel): """Inputs to the wikipedia tool.""" query : str = Field(description = "query to look up in Wikipedia, should be 3 or less words") wikipediaAPIWrapper = WikipediaAPIWrapper(top_k_results = 1, doc_content_chars_max = 100) wikipediaQueryRun = WikipediaQueryRun( name = "wiki-tool", description = "look up things in wikipedia", args_schema = WIKIModel, api_wrapper = wikipediaAPIWrapper, return_direct = True, ) print(wikipediaQueryRun.run("langchain")) print() print(f"Name : {wikipediaQueryRun.name }") print(f"Description : {wikipediaQueryRun.description }") print(f"args schema : {wikipediaQueryRun.args }") print(f"returns directly? : {wikipediaQueryRun.return_direct}") """ Page: LangChain Summary: LangChain is a framework designed to simplify the creation of applications Name : wiki-tool Description : look up things in wikipedia args schema : {'query': {'description': 'query to look up in Wikipedia, should be 3 or less words', 'title': 'Query', 'type': 'string'}} returns directly? : True """ |
▶ 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
|
aiohappyeyeballs==2.4.0 aiohttp==3.10.5 aiosignal==1.3.1 annotated-types==0.7.0 anyio==4.4.0 attrs==24.2.0 beautifulsoup4==4.12.3 certifi==2024.8.30 charset-normalizer==3.3.2 dataclasses-json==0.6.7 frozenlist==1.4.1 greenlet==3.1.0 h11==0.14.0 httpcore==1.0.5 httpx==0.27.2 idna==3.10 jsonpatch==1.33 jsonpointer==3.0.0 langchain==0.3.0 langchain-community==0.3.0 langchain-core==0.3.1 langchain-text-splitters==0.3.0 langsmith==0.1.122 marshmallow==3.22.0 multidict==6.1.0 mypy-extensions==1.0.0 numpy==1.26.4 orjson==3.10.7 packaging==24.1 pydantic==2.9.2 pydantic-settings==2.5.2 pydantic_core==2.23.4 python-dotenv==1.0.1 PyYAML==6.0.2 requests==2.32.3 sniffio==1.3.1 soupsieve==2.6 SQLAlchemy==2.0.35 tenacity==8.5.0 typing-inspect==0.9.0 typing_extensions==4.12.2 urllib3==2.2.3 wikipedia==1.4.0 yarl==1.11.1 |
※ pip install langchain-community
더 읽기
■ WikipediaQueryRun 클래스에서 name/description/args/return_direct 변수를 사용하는 방법을 보여준다. ▶ 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
|
from langchain_community.utilities import WikipediaAPIWrapper from langchain_community.tools import WikipediaQueryRun wikipediaAPIWrapper = WikipediaAPIWrapper(top_k_results = 1, doc_content_chars_max = 100) wikipediaQueryRun = WikipediaQueryRun(api_wrapper = wikipediaAPIWrapper) resultString = wikipediaQueryRun.invoke({"query" : "langchain"}) print(resultString) print() print(f"Name : {wikipediaQueryRun.name }") print(f"Description : {wikipediaQueryRun.description }") print(f"args schema : {wikipediaQueryRun.args }") print(f"returns directly? : {wikipediaQueryRun.return_direct}") """ Page: LangChain Summary: LangChain is a framework designed to simplify the creation of applications Name : wikipedia Description : A wrapper around Wikipedia. Useful for when you need to answer general questions about people, places, companies, facts, historical events, or other subjects. Input should be a search query. args schema : {'query': {'description': 'query to look up on wikipedia', 'title': 'Query', 'type': 'string'}} returns directly? : False """ |
▶ 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
|
aiohappyeyeballs==2.4.0 aiohttp==3.10.5 aiosignal==1.3.1 annotated-types==0.7.0 anyio==4.4.0 attrs==24.2.0 beautifulsoup4==4.12.3 certifi==2024.8.30 charset-normalizer==3.3.2 dataclasses-json==0.6.7 frozenlist==1.4.1 greenlet==3.1.0 h11==0.14.0 httpcore==1.0.5 httpx==0.27.2 idna==3.10 jsonpatch==1.33 jsonpointer==3.0.0 langchain==0.3.0 langchain-community==0.3.0 langchain-core==0.3.1 langchain-text-splitters==0.3.0 langsmith==0.1.122 marshmallow==3.22.0 multidict==6.1.0 mypy-extensions==1.0.0 numpy==1.26.4 orjson==3.10.7 packaging==24.1 pydantic==2.9.2 pydantic-settings==2.5.2 pydantic_core==2.23.4 python-dotenv==1.0.1 PyYAML==6.0.2 requests==2.32.3 sniffio==1.3.1 soupsieve==2.6 SQLAlchemy==2.0.35 tenacity==8.5.0 typing-inspect==0.9.0 typing_extensions==4.12.2 urllib3==2.2.3 wikipedia==1.4.0 yarl==1.11.1 |
※ pip install langchain-community wikipedia 명령을 실행했다.
■ WikipediaQueryRun 클래스의 invoke 메소드를 사용해 질의하는 방법을 보여준다. ▶ main.py
|
from langchain_community.utilities import WikipediaAPIWrapper from langchain_community.tools import WikipediaQueryRun wikipediaAPIWrapper = WikipediaAPIWrapper(top_k_results = 1, doc_content_chars_max = 100) wikipediaQueryRun = WikipediaQueryRun(api_wrapper = wikipediaAPIWrapper) resultString = wikipediaQueryRun.invoke({"query" : "langchain"}) print(resultString) |
▶ 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
|
aiohappyeyeballs==2.4.0 aiohttp==3.10.5 aiosignal==1.3.1 annotated-types==0.7.0 anyio==4.4.0 attrs==24.2.0 beautifulsoup4==4.12.3 certifi==2024.8.30 charset-normalizer==3.3.2 dataclasses-json==0.6.7 frozenlist==1.4.1 greenlet==3.1.0 h11==0.14.0 httpcore==1.0.5 httpx==0.27.2 idna==3.10 jsonpatch==1.33 jsonpointer==3.0.0 langchain==0.3.0 langchain-community==0.3.0 langchain-core==0.3.1 langchain-text-splitters==0.3.0 langsmith==0.1.122 marshmallow==3.22.0 multidict==6.1.0 mypy-extensions==1.0.0 numpy==1.26.4 orjson==3.10.7 packaging==24.1 pydantic==2.9.2 pydantic-settings==2.5.2 pydantic_core==2.23.4 python-dotenv==1.0.1 PyYAML==6.0.2 requests==2.32.3 sniffio==1.3.1 soupsieve==2.6 SQLAlchemy==2.0.35 tenacity==8.5.0 typing-inspect==0.9.0 typing_extensions==4.12.2 urllib3==2.2.3 wikipedia==1.4.0 yarl==1.11.1 |
※ pip install langchain-community wikipedia 명령을 실행했다.
■ WikipediaQueryRun 클래스의 생성자에서 api_wrapper 인자를 사용해 WikipediaQueryRun 객체를 만드는 방법을 보여준다. ▶ main.py
|
from langchain_community.utilities import WikipediaAPIWrapper from langchain_community.tools import WikipediaQueryRun wikipediaAPIWrapper = WikipediaAPIWrapper(top_k_results = 1, doc_content_chars_max = 100) wikipediaQueryRun = WikipediaQueryRun(api_wrapper = wikipediaAPIWrapper) |
▶ 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
|
aiohappyeyeballs==2.4.0 aiohttp==3.10.5 aiosignal==1.3.1 annotated-types==0.7.0 anyio==4.4.0 attrs==24.2.0 beautifulsoup4==4.12.3 certifi==2024.8.30 charset-normalizer==3.3.2 dataclasses-json==0.6.7 frozenlist==1.4.1 greenlet==3.1.0 h11==0.14.0 httpcore==1.0.5 httpx==0.27.2 idna==3.10 jsonpatch==1.33 jsonpointer==3.0.0 langchain==0.3.0 langchain-community==0.3.0 langchain-core==0.3.1 langchain-text-splitters==0.3.0 langsmith==0.1.122 marshmallow==3.22.0 multidict==6.1.0 mypy-extensions==1.0.0 numpy==1.26.4 orjson==3.10.7 packaging==24.1 pydantic==2.9.2 pydantic-settings==2.5.2 pydantic_core==2.23.4 python-dotenv==1.0.1 PyYAML==6.0.2 requests==2.32.3 sniffio==1.3.1 soupsieve==2.6 SQLAlchemy==2.0.35 tenacity==8.5.0 typing-inspect==0.9.0 typing_extensions==4.12.2 urllib3==2.2.3 wikipedia==1.4.0 yarl==1.11.1 |
※ pip install langchain-community
더 읽기
■ WikipediaAPIWrapper 클래스의 생성자에서 top_k_results/doc_content_chars_max 인자를 사용해 WikipediaAPIWrapper 객체를 만드는 방법을 보여준다. ▶ main.py
|
from langchain_community.utilities import WikipediaAPIWrapper wikipediaAPIWrapper = WikipediaAPIWrapper(top_k_results = 1, doc_content_chars_max = 100) |
▶ 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
|
aiohappyeyeballs==2.4.0 aiohttp==3.10.5 aiosignal==1.3.1 annotated-types==0.7.0 anyio==4.4.0 attrs==24.2.0 beautifulsoup4==4.12.3 certifi==2024.8.30 charset-normalizer==3.3.2 dataclasses-json==0.6.7 frozenlist==1.4.1 greenlet==3.1.0 h11==0.14.0 httpcore==1.0.5 httpx==0.27.2 idna==3.10 jsonpatch==1.33 jsonpointer==3.0.0 langchain==0.3.0 langchain-community==0.3.0 langchain-core==0.3.1 langchain-text-splitters==0.3.0 langsmith==0.1.122 marshmallow==3.22.0 multidict==6.1.0 mypy-extensions==1.0.0 numpy==1.26.4 orjson==3.10.7 packaging==24.1 pydantic==2.9.2 pydantic-settings==2.5.2 pydantic_core==2.23.4 python-dotenv==1.0.1 PyYAML==6.0.2 requests==2.32.3 sniffio==1.3.1 soupsieve==2.6 SQLAlchemy==2.0.35 tenacity==8.5.0 typing-inspect==0.9.0 typing_extensions==4.12.2 urllib3==2.2.3 wikipedia==1.4.0 yarl==1.11.1 |
※ pip install langchain-community
더 읽기
■ load_tools 함수를 사용해 WIKIPEDIA 도구를 로드하는 방법을 보여준다. ※ OPENAI_API_KEY 환경 변수 값은 .env 파일에 정의한다. ▶ main.py
|
from langchain_community.agent_toolkits.load_tools import load_tools toolList = load_tools(["wikipedia"]) print(toolList) """ [WikipediaQueryRun(api_wrapper=WikipediaAPIWrapper(wiki_client=<module 'wikipedia' from '/home/king/testproject/env/lib/python3.10/site-packages/wikipedia/__init__.py'>, top_k_results=3, lang='en', load_all_available_meta=False, doc_content_chars_max=4000))] """ |
▶ requirements.txt
더 읽기
■ wikipedia 패키지를 설치하는 방법을 보여준다. 1. 명령 프롬프트를 실행한다. 2. 명령 프롬프트에서 아래 명령을 실행한다. ▶ 실행 명령