๐ OpenAPI Tool Servers
์ด ๋ฆฌํฌ์งํ ๋ฆฌ๋ ๊ฐ๋ฐ์๊ฐ ์ธ๋ถ ๋๊ตฌ ๋ฐ ๋ฐ์ดํฐ ์์ค๋ฅผ LLM ์์ด์ ํธ์ ์ํฌํ๋ก์ฐ์ ํตํฉํ ์ ์๋๋ก ์ฐธ์กฐ์ฉ OpenAPI Tool Server ๊ตฌํ์ ์ ๊ณตํฉ๋๋ค. ์ต๋ ์ฌ์ฉ ํธ์์ฑ๊ณผ ํ์ต ๊ณก์ ์ต์ํ๋ฅผ ๋ชฉํ๋ก ์ค๊ณ๋ ์ด ๊ตฌํ์ ๋๋ฆฌ ์ฑํ๋๊ณ ๊ฒ์ฆ๋ OpenAPI ์ฌ์์ ํ์ค ํ๋กํ ์ฝ๋ก ์ฌ์ฉํฉ๋๋ค.
OpenAPI๋ฅผ ํ์ฉํจ์ผ๋ก์จ ๊ณ ์ ํ๊ฑฐ๋ ์ต์ํ์ง ์์ ํต์ ํ๋กํ ์ฝ์ ํ์์ฑ์ ์ ๊ฑฐํ๊ณ , ์ ๋ขฐ๋ฅผ ๋ฐํ์ผ๋ก ์๋ฒ๋ฅผ ๋น ๋ฅด๊ฒ ๊ตฌ์ถํ๊ฑฐ๋ ํตํฉํ ์ ์์ต๋๋ค. ์ด๋ ๋ง์ถคํ ์ธํฐํ์ด์ค๋ฅผ ํ์ ํ๋ ๋ฐ ์์๋๋ ์๊ฐ์ ์ค์ด๊ณ AI ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐํํ๋ ๊ฐ๋ ฅํ ๋๊ตฌ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ๋ ๋ง์ ์๊ฐ์ ํฌ์ํ ์ ์๋๋ก ํฉ๋๋ค.
โ๏ธ OpenAPI์ ์ฅ์ โ
-
ํ๋ฆฝ๋ ํ์ค: OpenAPI๋ ์์ฒ ๊ฐ์ ๋๊ตฌ, ํ์ฌ ๋ฐ ์ปค๋ฎค๋ํฐ์ ์ง์์ ๋ฐ๋ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ๊ฒ์ฆ๋ API ํ์ค์ ๋๋ค.
-
์ฌ๋ฐ๋ช ํ์ ์์: ์ถ๊ฐ ๋ฌธ์๋ ๊ณ ์ ์ฌ์์ผ๋ก ์ธํ ํผ๋์ด ์์ต๋๋ค. ์ด๋ฏธ REST API๋ฅผ ์์ฑํ๊ฑฐ๋ OpenAPI๋ฅผ ์ฌ์ฉ ์ค์ธ ๊ฒฝ์ฐ ๋ณ๋์ ์ค์ ์ด ํ์ํ์ง ์์ต๋๋ค.
-
์ฌ์ด ํตํฉ ๋ฐ ํธ์คํ : ๊ณต๊ธ์ ์ฒด ์ข ์์ฑ์ด๋ ๋ณต์กํ ๊ตฌ์ฑ ์์ด ์ธ๋ถ ๋๋ ๋ก์ปฌ์ ๋๊ตฌ ์๋ฒ๋ฅผ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
-
๊ฐ๋ ฅํ ๋ณด์ ์ด์ : HTTP/REST API๋ฅผ ์ค์ฌ์ผ๋ก ๊ตฌ์ถ๋ OpenAPI๋ HTTPS ๋ฐ ๊ฒ์ฆ๋ ์ธ์ฆ ํ์ค(OAuth, JWT, API ํค ๋ฑ)์ ํฌํจํ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์์ ํ ํต์ ๋ฐฉ๋ฒ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํฉ๋๋ค.
-
๋ฏธ๋์งํฅ์ ์ด๊ณ ์์ ์ ์: ์ฑ์๋๊ฐ ๋ฎ๊ฑฐ๋ ์คํ์ ์ธ ํ๋กํ ์ฝ๊ณผ ๋ฌ๋ฆฌ, OpenAPI๋ ์ ๋ขฐ์ฑ, ์์ ์ฑ ๋ฐ ์ฅ๊ธฐ์ ์ธ ์ปค๋ฎค๋ํฐ ์ง์์ ์ฝ์ํฉ๋๋ค.
๐ ๋น ๋ฅธ ์์โ
servers/
๋๋ ํ ๋ฆฌ์์ ์ ๊ณต๋๋ ์ฐธ์กฐ FastAPI ๊ธฐ๋ฐ ๊ตฌํ์ผ๋ก ๋น ๋ฅด๊ฒ ์์ํ์ธ์. (์ด ์์ ๋ฅผ ํ์์ ๋ฐ๋ผ ์ ํธํ๋ ์คํ์ผ๋ก ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์: ์ฌ์ฉ FastAPI, FastOpenAPI ๋๋ ๊ธฐํ OpenAPI ํธํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ):
git clone https://github.com/open-webui/openapi-servers
cd openapi-servers
# ์: ํน์ ์๋ฒ filesystem์ ์ข
์์ฑ ์ค์น
cd servers/filesystem
pip install -r requirements.txt
uvicorn main:app --host 0.0.0.0 --reload
์ด์ OpenAPI ํธํ ํด๋ผ์ด์ธํธ๋ AI ์์ด์ ํธ๋ฅผ ๋ก์ปฌ ๋๋ ๊ณต๊ฐ์ ์ผ๋ก ๋ฐฐํฌ๋ URL์ ๊ฐ๋จํ ์ฐ๊ฒฐํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ๊ตฌ์ฑ ๋ฌธ์ ๋ ๋ณต์กํ ์ ์ก์ ํ์ ์์ต๋๋ค.
๐ฑ Open WebUI ์ปค๋ฎค๋ํฐโ
- ์ผ๋ฐ ํ ๋ก , ๊ธฐ์ ๊ต๋ฅ ๋ฐ ๊ณต์ง ์ฌํญ์ ์ปค๋ฎค๋ํฐ ํ ๋ก ํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธํ์ธ์.
- ์์ด๋์ด๋ ํผ๋๋ฐฑ์ด ์๋์? ๋ฌธ์ ๋ฅผ ์ด์ด์ฃผ์ธ์!