آکادمی هوش مصنوعی تکینگیم
معماری و ساخت ایجنتهای هوشمند بدون هزینه API
آموزش و تولید کدهای آماده برای دور زدن هزینههای سنگین پردازش و ساخت ایجنتهای کاملاً مستقل (Agentic Loops) با استفاده از APIهای رایگان کلاود و مدلهای لوکال.
چرخه تصمیمگیری هوشمند (ReAct Loop)
📥
۱. فرمان کاربر
مسئله اولیه ورودی
▶️
🧠
۲. موتور تفکر (Thought)
تفکر و تصمیمگیری مدل
▶️
⚙️
۳. ابزارها (Action)
وباسکرپینگ، محاسبات، فایل
💡 چرخه تفکر و عمل (Reasoning + Acting) تا زمانی تکرار میشود که مدل اعلام کند پاسخ نهایی را یافته است. در تمام این مراحل از API رایگان کلاود استفاده میشود.
تنظیمات ایجنت پایتون
مشخصات ایجنت مورد نیاز خود را تعیین کنید:
tekin_agent.py
import os
import time
import google.generativeai as genai
# =====================================================================
# TAKIN ACADEMY: ZERO-COST REACT AGENT BLUEPRINT
# =====================================================================
# تنظیم کلید API رایگان جمینای (دریافت رایگان از Google AI Studio)
api_key = os.getenv("GEMINI_API_KEY", "YOUR_FREE_GEMINI_API_KEY")
genai.configure(api_key=api_key)
model_name = "gemini-1.5-flash"
SYSTEM_PROMPT = """شما یک ایجنت هوشمند در چرخه ReAct (تفکر، اکشن، مشاهده) هستید.
وظیفه شما پاسخ به سوال کاربر با تفکر منطقی است. شما به ابزارهای زیر دسترسی دارید:
- web_search(query): جستجوی وب برای یافتن اطلاعات روزآمد. موضوع جستجو را در کوئری وارد کنید.
- calculate(expression): حل معادلات ریاضی. مثال: calculate("2 + 2 * 10")
هر چرخه شامل مراحل زیر است:
Thought: ابتدا فکر کنید که چه کاری باید انجام شود.
Action: نام_ابزار(آرگومان) - اگر به ابزار نیاز دارید.
Observation: نتیجه کار ابزار (به عنوان ورودی بعدی شما وارد میشود).
... (تکرار چرخه بالا در صورت نیاز)
Thought: وقتی پاسخ را پیدا کردید.
Final Answer: پاسخ نهایی و کامل برای کاربر.
اهداف و هویت شما:
تو یک ایجنت تولید محتوای هوشمند هستی که وظیفه داری بهترین مقالات را برای سایت تکینگیم آماده کنی. برای نوشتن موضوعات حتماً از ابزار سرچ استفاده کن.
شروع کن!"""
# Define agent tools (Completely free, no API cost)
tools = {}
def web_search(query: str) -> str:
"""جستجوی وب برای یافتن اطلاعات روزآمد به کمک وباسکرپینگ ساده یا داکداکگو."""
try:
import urllib.request
from bs4 import BeautifulSoup
import urllib.parse
url = f"https://html.duckduckgo.com/html/?q={urllib.parse.quote(query)}"
req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0'})
with urllib.request.urlopen(req) as response:
soup = BeautifulSoup(response.read(), 'html.parser')
results = [a.text.strip() for a in soup.find_all('a', class_='result__snippet')[:3]]
return " | ".join(results) if results else "No results found."
except Exception as e:
return f"Error executing search: {str(e)}"
tools["web_search"] = web_search
def calculate(expression: str) -> str:
"""محاسبه فرمولهای ریاضی پیچیده با پایتون به صورت ایمن."""
try:
allowed = "0123456789+-*/(). "
if all(c in allowed for c in expression):
return str(eval(expression))
return "Error: Invalid characters in math formula."
except Exception as e:
return f"Math error: {str(e)}"
tools["calculate"] = calculate
# تعریف اجرای چرخه ReAct ایجنت
def run_agent(question: str):
model = genai.GenerativeModel(model_name)
chat = model.start_chat(history=[])
prompt = f"{SYSTEM_PROMPT}\nQuestion: {question}\n"
print(f"🚀 Starting ReAct Loop for: '{question}'")
for step in range(6):
response = chat.send_message(prompt).text
print(f"\n[Thought]:\n{response}\n")
if "Action:" in response:
# استخراج نام ابزار و آرگومان آن
try:
action_line = [l for l in response.split("\n") if "Action:" in l][0]
action_val = action_line.replace("Action:", "").strip()
tool_name = action_val.split("(")[0].strip()
tool_arg = action_val.split("(")[1].split(")")[0].replace('"', '').replace("'", "").strip()
if tool_name in tools:
# اجرای ابزار انتخاب شده
observation = tools[tool_name](tool_arg)
prompt = f"Observation: {observation}\n"
else:
prompt = f"Observation: Tool '{tool_name}' is not defined.\n"
except Exception as e:
prompt = f"Observation: Error parsing Action format. Make sure to use tool_name(arg).\n"
elif "Final Answer:" in response:
# نمایش پاسخ نهایی به کاربر
final_answer = response.split("Final Answer:")[1].strip()
print("====================================")
print(f"🎉 Final Result:\n{final_answer}")
print("====================================")
break
else:
break
if __name__ == "__main__":
# طرح سوال نمونه و اجرای ایجنت
test_question = "آخرین اخبار مربوط به هوش مصنوعی در بازیهای ویدیویی چیست؟"
run_agent(test_question)
راهنمای راهاندازی و اجرای لوکال
۱. دریافت کلید API رایگان
به Google AI Studio مراجعه کنید و یک کلید API کاملاً رایگان برای مدل جمینای بسازید. این کلید تا ۱۵ درخواست در دقیقه کاملاً رایگان است.
۲. نصب پکیجهای پایتون
pip install google-generativeai beautifulsoup4
این دستور را در ترمینال خود اجرا کنید تا لایبرری رسمی جمینای و لایبرری پارس وبسایت نصب شوند.
۳. اجرای اسکریپت
python tekin_zero_cost_agent.py
اسکریپت ذخیره شده را در سیستم خود اجرا کنید تا چرخه تفکر، اکشن و خروجی نهایی هوش مصنوعی را به صورت محلی تماشا کنید.