๐ Amazon Bedrock๊ณผ ํตํฉ
์ด ํํ ๋ฆฌ์ผ์ ์ปค๋ฎค๋ํฐ ๊ธฐ์ฌ๋ก ์์ฑ๋์์ผ๋ฉฐ Open WebUI ํ์์ ์ง์ํ์ง ์์ต๋๋ค. ํน์ ์ฉ๋์ ๋ง๊ฒ Open WebUI๋ฅผ ์ฌ์ฉ์ ์ ์ํ๋ ๋ฐฉ๋ฒ์ ์์ฐํ๊ธฐ ์ํ ๋ชฉ์ ๋ง์ผ๋ก ์ ๊ณต๋ฉ๋๋ค. ๊ธฐ์ฌํ๊ณ ์ถ์ผ์ ๊ฐ์? ๊ธฐ์ฌ ํํ ๋ฆฌ์ผ์ ํ์ธํด๋ณด์ธ์.
Open-WebUI์ Amazon Bedrock ํตํฉ
์ด ํํ ๋ฆฌ์ผ์์๋ Open-WebUI๋ฅผ Amazon Bedrock๊ณผ ํตํฉํ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ด๊ณ ์ธ๊ธฐ ์๋ ์ ๊ทผ ๋ฐฉ์์ ์ดํด๋ด ๋๋ค.
์ฌ์ ์ค๋น์ฌํญโ
์ด ํํ ๋ฆฌ์ผ์ ๋ฐ๋ผํ๊ธฐ ์ํด์๋ ๋ค์์ด ํ์ํฉ๋๋ค:
- ํ์ฑํ๋ AWS ๊ณ์
- ํ์ฑํ๋ AWS ์ก์ธ์ค ํค ๋ฐ ๋น๋ฐ ํค
- Bedrock ๋ชจ๋ธ์ ํ์ฑํํ ์ ์๋ AWS์ IAM ๊ถํ ๋๋ ์ด๋ฏธ ํ์ฑํ๋ ๋ชจ๋ธ
- ์์คํ ์ ์ค์น๋ Docker
Amazon Bedrock์ด๋โ
AWS ์น์ฌ์ดํธ์ ๋ฐ๋ฅด๋ฉด:
"Amazon Bedrock์ AI21 Labs, Anthropic, Cohere, Luma, Meta, Mistral AI, poolside(๊ณง ์ถ์ ์์ ), Stability AI, Amazon๊ณผ ๊ฐ์ ์ฃผ์ AI ํ์ฌ์ ๊ณ ์ฑ๋ฅ ํ์ด๋ฐ์ด์ ๋ชจ๋ธ(FM)์ ํ๋์ API๋ก ์ ๊ณตํ๋ ์์ ๊ด๋ฆฌํ ์๋น์ค์ ๋๋ค. ์ด๋ฅผ ํตํด ๋ณด์, ํ๋ผ์ด๋ฒ์ ๋ฐ ์ฑ ์ ์๋ AI๋ฅผ ๊ฐ์ถ ์์ฑํ AI ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ธฐ ์ํ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. Amazon Bedrock์ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ ์ฌ๋ก์ ์ ํฉํ ์ต๊ณ FM์ ์์ฝ๊ฒ ์คํํ๊ณ ํ๊ฐํ๋ฉฐ, ๋ฏธ์ธ ์กฐ์ ๋ฐ ๊ฒ์ ์ฆ๊ฐ ์์ฑ(RAG)๊ณผ ๊ฐ์ ๊ธฐ์ ์ ์ฌ์ฉํด ๊ฐ์ธ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด ๋ง์ถคํํ๊ฑฐ๋ ์ํฐํ๋ผ์ด์ฆ ์์คํ ๋ฐ ๋ฐ์ดํฐ ์์ค๋ฅผ ์ฌ์ฉํด ์์ ์ ์คํํ๋ ์์ด์ ํธ๋ฅผ ๊ตฌ์ถํ ์ ์์ต๋๋ค. Amazon Bedrock์ ์๋ฒ๋ฆฌ์ค์ด๋ฏ๋ก ์ธํ๋ผ๋ฅผ ๊ด๋ฆฌํ ํ์๊ฐ ์์ผ๋ฉฐ ์ด๋ฏธ ์ต์ํ AWS ์๋น์ค๋ฅผ ์ฌ์ฉํด ์์ฑํ AI ๊ธฐ๋ฅ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ํ๊ฒ ํตํฉํ๊ณ ๋ฐฐํฌํ ์ ์์ต๋๋ค."
Bedrock์ ๋ํ ์์ธํ ๋ด์ฉ์: Amazon Bedrock ๊ณต์ ํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธํ์ธ์.
ํตํฉ ๋จ๊ณ
1๋จ๊ณ: Amazon Bedrock Base Model ์ก์ธ์ค ํ์ธโ
Bedrock๊ณผ ํตํฉํ๊ธฐ ์ ์ ์ต์ ํ๋ ์ด์์ ์ฌ์ฉ ๊ฐ๋ฅํ Base Model์ ์ก์ธ์คํด์ผ ํฉ๋๋ค. ๊ฐ๋ฅํ ๋ง์์๋ก ์ข์ต๋๋ค. ์์ฑ ์์ (2025๋ 2์)์๋ 47๊ฐ์ ๋ฒ ์ด์ค ๋ชจ๋ธ์ด ์ ๊ณต๋์์ต๋๋ค. ์๋ ์คํฌ๋ฆฐ์ท์์ ์ฌ๋ฌ ๋ชจ๋ธ์ ์ก์ธ์คํ ์ ์์์ ํ์ธํ ์ ์์ต๋๋ค. ๋ชจ๋ธ ์์ "โ Access Granted"๋ผ๊ณ ํ์๋๋ฉด ํด๋น ๋ชจ๋ธ์ ์ก์ธ์คํ ์ ์์์ ๋ํ๋ ๋๋ค. ์ด๋ ๋ชจ๋ธ์๋ ์ ๊ทผํ ์ ์๋ ๊ฒฝ์ฐ ๋ค์ ๋จ๊ณ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒ์ ๋๋ค.
AWS๋ ์ด๋ฌํ ๋ชจ๋ธ์ ๋ํ ์์ฒญ์ ์ก์ธ์คํ๊ณ ํ์ฑํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ข์ ๋ฌธ์๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค: Amazon Bedrock ๋ชจ๋ธ ์ก์ธ์ค ๋ฌธ์
2๋จ๊ณ: Bedrock Access Gateway ๊ตฌ์ฑโ
ํ๋ ์ด์์ Bedrock ๋ฒ ์ด์ค ๋ชจ๋ธ์ ์ก์ธ์คํ ํ์๋ Bedrock Access Gateway(BAG)๋ฅผ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. BAG์ AWS ๋ค์ดํฐ๋ธ ์๋ํฌ์ธํธ/SDK๋ฅผ ๊ฐ์ธ๊ณ Open-WebUI์์ ์๊ตฌํ๋ OpenAI ์คํค๋ง์ ํธํ๋๋ ์๋ํฌ์ธํธ๋ฅผ ๋ ธ์ถํ๋ AWS์์ ๊ฐ๋ฐํ ํ๋ก์ ๋๋ ๋ฏธ๋ค์จ์ด์ ๊ฐ์ต๋๋ค.
์ฐธ๊ณ ๋ก, ์๋ํฌ์ธํธ ๊ฐ ๊ฐ๋จํ ๋งคํ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
OpenAI Endpoint | Bedrock Method |
---|---|
/models | list_inference_profiles |
/models/{model_id} | list_inference_profiles |
/chat/completions | converse or converse_stream |
/embeddings | invoke_model |
BAG ๋ ํฌ๋ ๋ค์ ์์น์์ ์ฐพ์ ์ ์์ต๋๋ค: Bedrock Access Gateway Repo
BAG์ ์ค์ ํ๊ธฐ ์ํ ๋จ๊ณ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- BAG ๋ ํฌ๋ฅผ ํด๋ก ํฉ๋๋ค.
- ๊ธฐ๋ณธ
dockerfile
์ ์ ๊ฑฐํฉ๋๋ค. Dockerfile_ecs
์ ์ด๋ฆ์Dockerfile
๋ก ๋ณ๊ฒฝํฉ๋๋ค.
์ด์ ์๋ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ Docker ์ปจํ ์ด๋๋ฅผ ๋น๋ํ๊ณ ์คํํ ์ค๋น๊ฐ ์๋ฃ๋์์ต๋๋ค:
docker build . -f Dockerfile -t bedrock-gateway
docker run -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN -e AWS_REGION=us-east-1 -d -p 8000:80 bedrock-gateway
์ด์ BAG์ swagger ํ์ด์ง์ ์ก์ธ์คํ ์ ์์ต๋๋ค: http://localhost:8000/docs
3๋จ๊ณ: Open-WebUI์ ์ฐ๊ฒฐ ์ถ๊ฐโ
์ด์ BAG์ด ์คํ๋๊ณ ์์ผ๋ฏ๋ก Open-WebUI์ ์ ์ฐ๊ฒฐ์ ์ถ๊ฐํ ๋์ ๋๋ค.
- ๊ด๋ฆฌ์ ํจ๋์์ Settings -> Connections๋ก ์ด๋ํฉ๋๋ค.
- "+" (ํ๋ฌ์ค) ๋ฒํผ์ ์ฌ์ฉํ์ฌ OpenAI ์๋์ ์ ์ฐ๊ฒฐ์ ์ถ๊ฐํฉ๋๋ค.
- URL์ "http://host.docker.internal:8000/api/v1"๋ฅผ ์ ๋ ฅํฉ๋๋ค.
- ๋น๋ฐ๋ฒํธ๋ BAG ๊ธฐ๋ณธ ์ค์ ์์ "bedrock"์ผ๋ก ์ ์๋ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ๋น๋ฐ๋ฒํธ๋ BAG ์ค์ (DEFAULT_API_KEYS)์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
- "Verify Connection" ๋ฒํผ์ ํด๋ฆญํ๋ฉด ์ค๋ฅธ์ชฝ ์๋จ์ "Server connection verified" ์๋ฆผ์ด ํ์๋ฉ๋๋ค.
4๋จ๊ณ: Bedrock ๊ธฐ๋ณธ ๋ชจ๋ธ ์ฌ์ฉ ์์โ
์ด์ ๋ชจ๋ Bedrock ๋ชจ๋ธ์ด ํ์๋ฉ๋๋ค!
๊ธฐํ ์ ์ฉํ ํํ ๋ฆฌ์ผโ
Amazon Bedrock์ Open-WebUI ํตํฉ ์์ ์ ์ ์ฉํ ๋ช ๊ฐ์ง ๋ค๋ฅธ ํํ ๋ฆฌ์ผ์ ๋๋ค.