๐ Sandbox๋?
Sandbox(์๋๋ฐ์ค) ๋ ๋ณด์์ด๋ ์คํ ๋ชฉ์ ์ ๊ฒฉ๋ฆฌ๋ ์คํ ํ๊ฒฝ.
์ฝ๊ฒ ๋งํด โ์ด ์์์๋ ๋ฌด์จ ์ง์ ํด๋ ๋ฐ๊นฅ ์์คํ
์๋ ์ํฅ์ ๋ชป ์ฃผ๋ ํต์ ๋ ๊ณต๊ฐ"
Ex):
โข ๋ธ๋ผ์ฐ์ ๊ฐ ์
์ฑ ์น์ฝ๋๋ฅผ ์คํํ ๋ ์์คํ
ํ์ผ์ ์ ๊ทผํ์ง ๋ชปํ๋๋ก ๋ง๋ ๊ตฌ์กฐ
โข LLM์ด ์ธ๋ถ ํ์ผ์ ์์ ํ๊ฑฐ๋ ์ธํฐ๋ท ์์ฒญ์ ๋ณด๋ด์ง ๋ชปํ๋๋ก ์ ํ๋ ์คํ ํ๊ฒฝ
โข ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ํ
์คํธํ ๋ OS ์ ์ฒด๊ฐ ์๋ ๊ฐ์ ํ๊ฒฝ์์๋ง ๋๋ฆฌ๋ ๊ตฌ์กฐ
1) --telemetry
CLI ๋๊ตฌ๊ฐ ์ฌ์ฉ ํต๊ณ๋ ์ค๋ฅ ์ ๋ณด๋ฅผ ๊ฐ๋ฐ์ฌ(์: Google) ๋ก ์๋ ์ ์กํ๋ ๊ธฐ๋ฅ
2) -- proxy
๋ด๊ฐ ์ง์ ์ธ๋ถ์ ์ฐ๊ฒฐํ์ง ์๊ณ , ๋์ ํ๋ก์ ์๋ฒ๋ฅผ ํตํด ์์ฒญ์ ๋ณด๋ด๋ ์ต์ , ๋ง๊ทธ๋๋ก ํ๋ก์๋ฅผ ์ง์ ํ๋ ์ต์
gemini --proxy=http://user:password@proxy.example.com:8080
3) --model
gemini run -m gemini-2.5-pro "Summarize this text."
4) -p
ํ์ค ์
๋ ฅ(stdin) ์ผ๋ก ๋ค์ด์ค๋ ํ
์คํธ๊ฐ ์์ ๋,
๊ทธ ๋ค์ ์ด์ด ๋ถ์ผ(prompt append) ์ถ๊ฐ ํ๋กฌํํธ๋ฅผ ์ง์ ํ๋ ๊ธฐ๋ฅ

loader = WebBaseLoader(
web_paths=[
"https://n.news.naver.com/article/437/0000378416",
"https://n.news.naver.com/mnews/hotissue/article/092/0002340014?type=series&cid=2000063",
],
bs_kwargs=dict(
parse_only=bs4.SoupStrainer(
"div",
attrs={"class": ["newsct_article _article_body", "media_end_head_title"]},
)
),
header_template={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36",
},
)
# ๋ฐ์ดํฐ ๋ก๋
docs = loader.load()
# ๋ฌธ์ ์ ํ์ธ
print(len(docs))
docc = [ doc.page_content for i, doc in enumerate(docs)]
print(f"doc1 : {docc[0]}\n\n")
print(f"doc2 : {docc[1]}")
import nest_asyncio ( jupyter ์ ์ฉ, ์ผ๋ฐ py -> asyncio ์ด์ฉ)
nest_asyncio.apply()
loader.requests_per_second = 1
# ๋น๋๊ธฐ ๋ก๋
docs = loader.aload()
loader = WebBaseLoader(
"https://www.google.com/search?q=parrots",
proxies={
"http": "http://{username}:{password}:@proxy.service.com:6666/",
"https": "https://{username}:{password}:@proxy.service.com:6666/",
},
# ์น ๊ธฐ๋ฐ ๋ก๋ ์ด๊ธฐํ
# ํ๋ก์ ์ค์
)
# ๋ฌธ์ ๋ก๋
docs = loader.load()
from langchain.storage import LocalFileStore
from langchain_openai import OpenAIEmbeddings
from langchain.embeddings import CacheBackedEmbeddings
embeddings = OpenAIEmbeddings()
store = LocalFileStore("./cache/")
cached_embedder = CacheBackedEmbeddings.from_bytes_store(
underlying_embeddings= embeddings,
document_embedding_cache=store,
namespace= embeddings.model,
)
list(store.yield_keys())


