Agentic-AI-CHAT / my_functions.py
openfree's picture
Update my_functions.py
1954a4a verified
raw
history blame
1.98 kB
import yfinance as yf
# ์ƒ˜ํ”Œ์šฉ Catalog
product_catalog = {
"807ZPKBL9V": "SuperWidget",
"1234567890": "MegaGadget"
}
def get_product_name_by_PID(PID: str) -> str:
"""
Finds the name of a product by its Product ID
"""
return product_catalog.get(PID, "Unknown product")
def get_stock_price(ticker: str) -> float:
"""
Retrieves the latest stock price for a given ticker using yfinance.
"""
stock = yf.Ticker(ticker)
data = stock.history(period="1d")
if not data.empty:
return data['Close'].iloc[-1]
return float('nan')
# ----------------------------------------------------
# MCO ์•„ํ‚คํ…์ฒ˜ ๋ถ„์„์šฉ ํ•จ์ˆ˜ (์˜ˆ์‹œ)
# ----------------------------------------------------
def analyze_mco_architecture(framework_version: str, detail_level: int = 3) -> str:
"""
MCO ์•„ํ‚คํ…์ฒ˜(ํ•จ์ˆ˜ JSON + Python ๋ชจ๋“ˆ) ๊ตฌ์กฐ๋ฅผ ๋ถ„์„ ๋ฐ ์š”์•ฝํ•ด์ฃผ๋Š” ํ•จ์ˆ˜.
"""
if detail_level < 1:
detail_level = 1
elif detail_level > 5:
detail_level = 5
analysis = (
f"MCO ์•„ํ‚คํ…์ฒ˜(๋ฒ„์ „ {framework_version}) ๋ถ„์„ ๊ฒฐ๊ณผ:\n"
f" - functions.json์— ์ •์˜๋œ ํ•จ์ˆ˜ ๋ชฉ๋ก ํ™•์ธ\n"
f" - Python ๋ชจ๋“ˆ({__file__})์—์„œ ํ•จ์ˆ˜ ๊ตฌํ˜„ ์ •์ƒ ์—ฐ๊ฒฐ ํ™•์ธ\n"
f" - detail_level={detail_level} ๊ธฐ์ค€์œผ๋กœ ์š”์•ฝ ๋ฆฌํฌํŠธ\n"
f"โ€ป ์‹ค์ œ๋กœ๋Š” ํ•„์š”์— ๋”ฐ๋ผ ๋” ๋ณต์žกํ•œ ๋กœ์ง/ํŒŒ์ผ ๋ถ„์„ ๋“ฑ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ."
)
return analysis
# ----------------------------------------------------
# [์ถ”๊ฐ€] functionName(...)
# - ๋ชจ๋ธ์ด functionName(string="AAPL")๋ผ๊ณ  ์ฝœํ•˜๋ฉด ๋‚ด๋ถ€์ ์œผ๋กœ get_stock_price(ticker=string)์„ ํ˜ธ์ถœ.
# ----------------------------------------------------
def functionName(string: str) -> float:
"""
์ž„์‹œ ํ˜ธํ™˜์šฉ ํ•จ์ˆ˜.
๋ชจ๋ธ์ด functionName(string="...")์„ ํ˜ธ์ถœํ•˜๋ฉด, get_stock_price(ticker=...)๋ฅผ ๋Œ€์‹  ํ˜ธ์ถœํ•˜์—ฌ ๋ฐ˜ํ™˜.
"""
return get_stock_price(ticker=string)