Кад су отворили својеAgents SDKпре неколико недеља, девес свуда су били хиппи - и са добрим разлогом! коначно, једноставан начин да се изгради циљ-оријентисани АИ агенти који заправо могу размишљати иNapravite posao.
ali skoro u istom dahu,MCPексплодирао на сцену, брзо постајући следећи врући тренд у овом дивљем АИ пејзажу. Па зашто не разбијете ове две моћне куће заједно?!
U ovom vodiču,we're going to forge a formidable AI agentIskoristite OpenAI Agents SDK i priključite ga direktno u realne alate koje pruža MCP server.
Брзо увод у МЦП + ОпенАИ Агентс СДК интеграцију
OpenAI Agents SDK je jedan od najpopularnijih Python alatki za kreiranje inteligentnih AI agenata, dozvoljavajući im da razumeju i deluju.Ali evo kicker: bez spoljnih informacija, oni su često zaglavljeni u bubuljicu podataka za obuku.
Размислите о МЦП-у као универзалном УСБ-Ц порту за вашу АИ, дајући му стандардизовани начин да се повежетебило којиспољни извор података или алат-локалне датотеке, АПИ-је, базе података, ви га именујете.
Интегрисање МЦП-а са ОпенАИ Агентс СДК значи да ваши агенти добијају реалном времену, динамички контекст, претварајући их из паметних, али изолованих ботова у истраживаче података и акционаре!
Изградња АИ агента са МЦП интеграцијом користећи ОпенАИ Агентс СДК
У реду, довољно теорије. добијате то – МЦП преоптерећује АИ агенте као да суЖелезни човеку његовом иконичном металном костиму.
У овом корак по корак одељку, користићемо ОпенАИ Агентс СДК-иеп, нови Питхон СДК из ОпенАИ-а за изградњу АИ агента са МЦП интеграцијом.native MCP support, што значи да ваш агент може ићи од паметног доСупермоћу секунди.
Сада, мали улов: ОпенАИ АПИ није бесплатан. 😅 Дакле, у овом водичу,we’ll run it using Gemini as the LLM engine instead(Не брините - показаћемо вам како да размените у ОпенАИ или било ком другом моделу такође ).
Али сачекајте - који МЦП сервер користимо?
Одлично питање! Да бисте брзо започели, ми се повезујемоBright Data MCP серверMCP server napravljen za web automatizaciju i zadatke podataka. Omogućava vašem AI agentu da pretražuje, pretražuje, preduzima akcije i izvlači podatke u realnom vremenu sa veb-a – sa ugrađenim stealth-om da izbegne CAPTCHA iАнти-бот замке.
Конкретно, испод су сви алати које подржава Bright Data MCP server ️:
Tool |
Description |
---|---|
|
Scrape SERP data (from Google, Bing, Yandex, and more) |
|
Scrape a URL and return content in clean Markdown |
|
Scrape a URL and return full HTML content |
|
View tool usage during the current session |
|
Get Amazon product info by URL |
|
Fetch Amazon reviews for a product |
|
Grab LinkedIn profile data |
|
Fetch LinkedIn company data |
|
Get ZoomInfo company profile |
|
Fetch Instagram profile details |
|
Get Instagram post data |
|
Grab Instagram reel data |
|
Fetch comments from an Instagram post |
|
Extract Facebook post info |
|
Get Facebook Marketplace listings |
|
Scrape Facebook business reviews |
|
Fetch data from X (formerly Twitter) posts |
|
Get Zillow property listings |
|
Fetch Booking.com hotel listings |
|
Extract YouTube video metadata |
|
Navigate to a new URL in a virtual browser |
|
Go back one page in the browser |
|
Go forward one page in the browser |
|
Click a page element (needs selector) |
|
Get all links and selectors on the page |
|
Type into a form or input |
|
Wait for an element to appear |
|
Capture a screenshot of the current page |
|
Get raw HTML from the page |
|
Extract text content from the page |
search_engine
Сцрапе СЕРП података (од Гооглеа, Бинга, Иандек-а и још много тога)
scrape_as_markdown
Сцрапе УРЛ и вратите садржај у чистом Маркауну
scrape_as_html
Сцрап УРЛ и врати комплетан ХТМЛ садржај
session_stats
Погледајте употребу алата током тренутне сесије
web_data_amazon_product
Добијте информације о Амазон производу по УРЛ-у
web_data_amazon_product_reviews
Фетцх Амазон рецензије за производ
web_data_linkedin_person_profile
Преузмите податке о LinkedIn профилу
web_data_linkedin_company_profile
Fetch LinkedIn подаци о компанији
web_data_zoominfo_company_profile
Преузмите профил компаније ZoomInfo
web_data_instagram_profiles
Фетцх Инстаграм профил детаљи
web_data_instagram_posts
Преузмите Инстаграм пост податке
web_data_instagram_reels
Преузмите Реал Инстаграм податке
web_data_instagram_comments
Fetch komentare iz Instagram posta
web_data_facebook_posts
Izdvojite Facebook post info
web_data_facebook_marketplace_listings
Преузмите Facebook Marketplace листе
web_data_facebook_company_reviews
Scrape Facebook poslovne recenzije
web_data_x_posts
Преузмите податке из X (раније Твиттер) постова
web_data_zillow_properties_listing
Преузмите листу имовине Zillow
web_data_booking_hotel_listings
фетишРезервације Booking.comЛиста хотела
web_data_youtube_videos
Истраживање YouTube видео метаподатака
scraping_browser_navigate
Навигација на нови УРЛ у виртуелном претраживачу
scraping_browser_go_back
Вратите се на једну страницу у претраживачу
scraping_browser_go_forward
Идите напред једну страницу у претраживачу
scraping_browser_click
Кликните на елемент странице (треба селектор)
scraping_browser_links
Преузмите све линкове и селекторе на страници
scraping_browser_type
Тип у облику или унос
scraping_browser_wait_for
Сачекајте да се елемент појави
scraping_browser_screenshot
Снимање екрана тренутне странице
scraping_browser_get_html
Преузмите сирови ХТМЛ са странице
scraping_browser_get_text
Извадите текстуални садржај са странице
Гледајте како да ваш АИ агент разговара са МЦП сервером за неограничену снагу!
Корак # 1: Постављање пројекта
Да бисте пратили заједно са овим одељком туторијала, уверите се да имате следеће предуслове:
- Python 3.10+ инсталиран локално
- Node.js је инсталиран локално
- API ključ od podržanog LLM provajdera za OpenAI Agents SDK (preporučujemo Gemini za ovaj)
Прескочићемо досадну флуф инсталације и претпоставимо да сте већ креирали Питон пројекат са овом структуром:
/openai-agents-mcp
├── venv/
├── .env
└── agent.py
Сада активирајте своју виртуелну средину (venv/
) и инсталирати потребне пакете:
pip install openai-agents python-dotenv
Где је:
- openai-agents је OpenAI Agents Python SDK – ваш улаз у магију АИ агента
- python-dotenv је за читање вредности из .env датотеке
Следеће Отвореноagent.py
Време је да прочитате те променљиве животне средине и припремите се за лансирање агента:
import asyncio
from dotenv import load_dotenv
import os
from agents import (
Runner,
Agent,
OpenAIChatCompletionsModel,
set_default_openai_client,
set_tracing_disabled
)
from openai import AsyncOpenAI
from agents.mcp import MCPServerStdio
# Load environment variables from the .env file
load_dotenv()
async def run():
# AI Agent logic goes here...
pass
if __name__ == "__main__":
asyncio.run(run())
Бум! Ви сте горе и трчите са основама.
Корак #2: Почните са Bright Data MCP сервером
Tako da, tiЖелите да ваш АИ агент разговара са МЦП сервером?
Па, погодите шта – прво ће вам требати МЦП сервер који ради (да,Капетан ОчигледанObaveštenje za dužnost! )
Као што је раније поменуто, користићемоBright Data MCP ServerУ овом случају, прво,ухватите свој АПИ кључ и инициализирајте сервер као званични Bright Data MCP сервер доцс.
Када сте спремни, покрените сервер са овом командом:
npx -y @brightdata/mcp
Ако је све правилно конфигурисано, требало би да видите излаз сличан овом:
Checking for required zones...
Required zone "mcp_unlocker" already exists
Starting server...
Лепо!
Сада подесите променљиве окружења које ће агент користити за повезивање са Bright Data MCP сервером..env
Да бисте то урадили, додајте ове две линије:
BRIGHT_DATA_API_TOKEN="<YOUR_BRIGHT_DATA_API_TOKEN>"
BRIGHT_DATA_BROWSER_AUTH="<BRIGHT_DATA_BROWSER_AUTH>"
Zamenite držače mesta vrednostima koje ste dobili, kao što je objašnjeno u dokumentima MCP servera Bright Data.
Назад уagent.py
Прочитајте у овим двема ендовима овако:
BRIGHT_DATA_API_TOKEN = os.getenv("BRIGHT_DATA_API_TOKEN")
BRIGHT_DATA_BROWSER_AUTH = os.getenv("BRIGHT_DATA_BROWSER_AUTH")
Ove vrednosti ćemo uskoro koristiti kada inicijalizujemo MCP vezu iz koda.
И баш као што је то - бам 💥 - ваш МЦП сервер је у покрету, покренут и спреман да служи вашем АИ агенту као лојалном страницом.
Корак # 3: Креирајте свог АИ агента
Као што је исмевано у уводу овог одељка, користићемо Гемини (иеп, сјајни ЛЛМ Гоогле-а) са ОпенАИ Агентс СДК-ом.
Први излаз -Možeš li čak i to da uradiš?И друго –Zašto ne biste direktno koristili OpenAI?
ResponseDa, možete to da uradite! 🙂Gemini exposes an OpenAI-compatible API, што значи да га можете директно повезати у ОпенАИ Агентс СДК као замену за падање.It’s free—за разлику од ОпенАИ, који воли да вас наплаћује токеном.
Дакле, ево зашто има смисла користити Близанце уместо ОпенАИ директно! 💡
Довољно цхит-цхат, хајде да жице ствари ☀. Прво, зграби својуGemini API ključ od Google AI studiaи поп га у твој.env
датотеке :
GEMINI_API_KEY="<YOUR_GEMINI_API_KEY>"
Posle toga, uagent.py
Прочитајте тај кључ овако:
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")
Сада, изградите функцију која све повезује -Gemini model, OpenAI SDK, and the MCP server(који ћемо конфигурисати у коду ускоро ️):
async def create_mcp_ai_agent(mcp_server):
# Initialize Gemini client using its OpenAI-compatible interface
gemini_client = AsyncOpenAI(
api_key=GEMINI_API_KEY,
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
# Set the default OpenAI client to Gemini
set_default_openai_client(gemini_client)
# Disable tracing to avoid tracing errors being logged in the terminal
set_tracing_disabled(True)
# Create an agent configured to use the MCP server and Gemini model
agent = Agent(
name="Assistant",
instructions="You are a helpful assistant",
model=OpenAIChatCompletionsModel(
model="gemini-2.0-flash",
openai_client=gemini_client,
),
mcp_servers=[mcp_server]
)
return agent
Ако желите да користите други подржани модел (као што су Клод, Мистрал или други модели), једноставно заменитеbase_url
и име модела у складу с тим.
Extra: Желите да користите ОпенАИ уместо тога? Нема проблема.OPENAI_API_KEY
i zamenite gornju logiku sa:
async def create_mcp_ai_agent(mcp_server):
# Create an agent configured to use the MCP server and Gemini model
agent = Agent(
name="Assistant",
instructions="You are a helpful assistant",
mcp_servers=[mcp_server]
)
return agent
Једноставна размена, исти интерфејс – то је лепота СДК-а... 😎
Ako se pitate gde jemcp_server
аргумент долази из - ми ћемо га иницијализовати у следећем кораку ( спојлер упозорење). Наставите са читањем!
Корак #4: Иницирајте МЦП сервер
Унутар твогrun()
async функција, спин до Bright Data MCP сервера користећиnpx
Kao ovo:
async with MCPServerStdio(
name="Bright Data web data MCP server, via npx",
params={
"command": "npx",
"args": ["-y", "@brightdata/mcp"],
"env": {
"API_TOKEN": BRIGHT_DATA_API_TOKEN,
"BROWSER_AUTH": BRIGHT_DATA_BROWSER_AUTH,
}
},
client_session_timeout_seconds=180 # To avoid timeout errors
) as server:
# Create and initialize the AI agent with the running MCP server
agent = await create_mcp_ai_agent(server)
# AI agent loop logic...
️ Шта се овде дешава? Ово покреће МЦП сервер користећиnpx -y @brightdata/mcp
, преношење у своје верификације преко променљивих окружења.
Напомена: Не заборавите да ударитеclient_session_timeout_seconds
два180
секунде (подразумевано је5
) – јерСцраппинг у реалном времену, ЦАПТЦХА рјешавање и анти-бот нинџа потезиобавља Bright Data MCP сервер траје време . Не желите да се тајминг из средине мисије.
✅ Слатко! Једино што је остало је да се искључи лук АИ агента ... Хајде да га умотамо.
Корак #5: Дефинишите АИ агент луп
Унутар блока асинхронизације МЦП сервера, убаците репл (читање-евал-принт) лук тако да корисници могу да упишу своје захтеве, пошаљу их преко агента који користи МЦП и врате магију ✨:
while True:
# Read the user's request
request = input("Your request -> ")
# Exit condition
if request.lower() == "exit":
print("Exiting the agent...")
break
# Run the request through the agent
output = await Runner.run(agent, input=request)
# Print the result to the user
print(f"Output -> \n{output.final_output}\n\n")
Овај мали Питхон сноп је командни центар вашег АИ агента. Непрестано хвата ваше захтјеве, храни их агенту, а затим испљува коначни, славни резултат. Размислите о томе као о конзоли без мрља за ваш АИ мозак, спреман да преузме наређења док му не кажете да "излази" .
Da li ste samo imali taj „whoa“ trenutak?Ukoliko nije, dozvolite mi da vam je ispričam:you just wired up a full AI agent loop using the OpenAI Agents SDK + Bright Data’s MCP server + Gemini!
Сада сте спремни да погледате комплетан код, све спојено заједно као прелепо Франкенштајново чудовиште АИ аутоматизације.
Корак #6: Ставите све заједно
Ovo je vaš poslednji Python skript za OpenAI Agents SDK + MCP integraciju (powered by Gemini to save money ):
import asyncio
from dotenv import load_dotenv
import os
from agents import (
Runner,
Agent,
OpenAIChatCompletionsModel,
set_default_openai_client,
set_tracing_disabled
)
from openai import AsyncOpenAI
from agents.mcp import MCPServerStdio
# Load environment variables from the .env file
load_dotenv()
# Read the required secrets envs from environment variables
BRIGHT_DATA_API_TOKEN = os.getenv("BRIGHT_DATA_API_TOKEN")
BRIGHT_DATA_BROWSER_AUTH = os.getenv("BRIGHT_DATA_BROWSER_AUTH")
GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")
async def create_mcp_ai_agent(mcp_server):
# Initialize Gemini client using its OpenAI-compatible interface
gemini_client = AsyncOpenAI(
api_key=GEMINI_API_KEY,
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
# Set the default OpenAI client to Gemini
set_default_openai_client(gemini_client)
# Disable tracing to avoid tracing errors being logged in the terminal
set_tracing_disabled(True)
# Create an agent configured to use the MCP server and Gemini model
agent = Agent(
name="Assistant",
instructions="You are a helpful assistant",
model=OpenAIChatCompletionsModel(
model="gemini-2.0-flash",
openai_client=gemini_client,
),
mcp_servers=[mcp_server]
)
return agent
async def run():
# Start the Bright Data MCP server via npx
async with MCPServerStdio(
name="Bright Data web data MCP server, via npx",
params={
"command": "npx",
"args": ["-y", "@brightdata/mcp"],
"env": {
"API_TOKEN": BRIGHT_DATA_API_TOKEN,
"BROWSER_AUTH": BRIGHT_DATA_BROWSER_AUTH,
}
},
client_session_timeout_seconds=180 # To avoid timeout errors
) as server:
# Create and initialize the AI agent with the running MCP server
agent = await create_mcp_ai_agent(server)
# Main REPL loop to process user requests
while True:
# Read the user's request
request = input("Your request -> ")
# Exit condition
if request.lower() == "exit":
print("Exiting the agent...")
break
# Run the request through the agent
output = await Runner.run(agent, input=request)
# Print the result to the user
print(f"Output -> \n{output.final_output}\n\n")
if __name__ == "__main__":
asyncio.run(run())
Само 81 линија кода. И шта добијате? АИ агент који може сурфовати интернетом, заобићи анти-ботове, ухватити податке у реалном времену и разговарати - као да то није велика ствар.
Захваљујући новимКоји протоколиi dev-first alatke kao što su OpenAI Agents SDK i Bright Data MCP, AI automatizacija je sada... skoro previše jednostavna.
Корак #7: Тестирајте МЦП-помоћног АИ агента
Покрените свог АИ агента са терминала са:
python agent.py
Или на Линук / МацОС:
python3 agent.py
Ви ћете бити поздрављен од стране пријатељски позив као што су:
Your request ->
На пример, покушајте да питате агента које МЦП алате има:
What tools are you linked to through MCP?
Вратићете нешто попут:
Kao što možete videti, vaš AI agent je svestan svih Bright Data MCP alata na koje se može povezati – i spreman je da ih koristi!
У реду, време је да се ослободи звер! Хајде да ставимо те сјајне МЦП алате на крајњи тест: Наредите свом АИ агенту да извади неке сочне податке са странице Амазон П5 :
Да бисте то постигли, дајте му брзину као што је:
From the Amazon product page "https://www.amazon.com/PlayStation%C2%AE5-console-slim-PlayStation-5/dp/B0CL61F39H/", extract the main info and return it in JSON format
Изводите га и резултат ће бити:
Конкретно, излаз би требао бити нешто попут:
{
"title": "PlayStation®5 console (slim)",
"seller_name": "Amazon.com",
"brand": "Sony",
"description": "The PS5 console unleashes new gaming possibilities that you never anticipated. Experience lightning fast loading with an ultra-high speed SSD, deeper immersion with support for haptic feedback, adaptive triggers, and 3D Audio*, and an all-new generation of incredible PlayStation games. Lightning Speed - Harness the power of a custom CPU, GPU, and SSD with Integrated I/O that rewrite the rules of what a PlayStation console can do. Stunning Games - Marvel at incredible graphics and experience new PS5 features. Play a back catalog of supported PS4 games. Breathtaking Immersion - Discover a deeper gaming experience with support for haptic feedback, adaptive triggers, and 3D Audio technology. Vertical stand sold separately. *3D audio via built-in TV speakers or analog/USB stereo headphones. Set up and latest system software update required.",
"initial_price": 499,
"currency": "USD",
"availability": "In Stock",
"reviews_count": 6759,
"categories": [
"Video Games",
"PlayStation 5",
"Consoles"
],
"asin": "B0CL61F39H",
"buybox_seller": "Amazon.com",
"number_of_sellers": 1,
"root_bs_rank": 18,
"answered_questions": 0,
"domain": "https://www.amazon.com/",
"images_count": 5,
"url": "https://www.amazon.com/PlayStation%C2%AE5-console-slim-PlayStation-5/dp/B0CL61F39H?th=1&psc=1&language=en_US¤cy=USD",
"video_count": 6,
"image_url": "https://m.media-amazon.com/images/I/41ECK5cY-2L._SL1000_.jpg",
"item_weight": "10.6 pounds",
"rating": 4.7,
"product_dimensions": "14 x 17 x 7 inches; 10.6 Pounds",
"seller_id": "ATVPDKIKX0DER",
"date_first_available": "December 10, 2023",
"model_number": "CFI-2015",
"manufacturer": "Sony",
"department": "Video Games",
"plus_content": true,
"video": true,
"final_price": 499,
"delivery": [
"FREE delivery Monday, May 26",
"Or Prime members get FREE delivery Tomorrow, May 22. Order within 15 hrs 43 mins. Join Prime"
],
"features": [
"Model Number CFI-2000",
"Includes DualSense Wireless Controller, 1TB SSD, Disc Drive, 2 Horizontal Stand Feet, HDMI Cable, AC power cord, USB cable, printed materials, ASTRO’s PLAYROOM (Pre-installed game)",
"Vertical Stand sold separately"
],
"bought_past_month": 8000,
"is_available": true,
"root_bs_category": "Video Games",
"bs_category": "PlayStation Consoles",
"bs_rank": 15,
"badge": "Amazon's Choice",
"subcategory_rank": [
{
"subcategory_name": "PlayStation 5 Consoles",
"subcategory_rank": 1
}
],
"amazon_choice": true,
"product_details": [
{
"type": "ASIN",
"value": "B0CL61F39H"
},
{
"type": "Release date",
"value": "December 10, 2023"
},
{
"type": "Customer Reviews",
"value": "4.74.7 out of 5 stars6,759 ratings4.7 out of 5 stars"
},
{
"type": "Best Sellers Rank",
"value": "#18 in Video Games (See Top 100 in Video Games)#1 in PlayStation 5 Consoles"
},
{
"type": "Product Dimensions",
"value": "14 x 17 x 7 inches; 10.6 Pounds"
},
{
"type": "Type of item",
"value": "Video Game"
},
{
"type": "Item model number",
"value": "CFI-2015"
},
{
"type": "Item Weight",
"value": "10.6 pounds"
},
{
"type": "Manufacturer",
"value": "Sony"
},
{
"type": "Country of Origin",
"value": "China"
},
{
"type": "Batteries",
"value": "1 Lithium Ion batteries required. (included)"
},
{
"type": "Date First Available",
"value": "December 10, 2023"
}
],
"country_of_origin": "China",
"seller_url": "https://www.amazon.com/sp?ie=UTF8&seller=ATVPDKIKX0DER&asin=B0CL61F39H",
"customers_say": "Customers find the PlayStation 5 console runs well and performs mind-blowingly fast, with quick loading times and smooth game performance. The graphics quality receives positive feedback, with one customer highlighting its stunning 120Hz visuals, while the console is easy to set up with an intuitive user interface. Customers consider the price worth the investment and appreciate its pristine condition. The noise level receives mixed reviews, with some customers finding it super quiet while others report it being loud.",
"climate_pledge_friendly": false,
"sponsered": true,
"store_url": "https://www.amazon.com/stores/PlayStationPlayHasNoLimits/page/5AF5EF82-86EF-4699-B450-C232B3BD720E?lp_asin=B0CL61F39H&ref_=ast_bln&store_ref=bl_ast_dp_brandLogo_sto",
"ships_from": "Amazon.com",
"customers_say": {
"text": "Customers find the PlayStation 5 console runs well and performs mind-blowingly fast, with quick loading times and smooth game performance. The graphics quality receives positive feedback, with one customer highlighting its stunning 120Hz visuals, while the console is easy to set up with an intuitive user interface. Customers consider the price worth the investment and appreciate its pristine condition. The noise level receives mixed reviews, with some customers finding it super quiet while others report it being loud.",
"keywords": {
"positive": [
"Functionality",
"Gaming experience",
"Value for money",
"Graphics quality",
"Quality",
"Speed",
"Ease of setup"
],
"negative": null,
"mixed": [
"Noise level"
]
}
},
"max_quantity_available": 30,
"timestamp": "2025-05-21T10:46:13.487Z"
}
Wow! 🤯
One prompt, and you just scraped all the data from an Amazon product page.И не само било који сајт - Амазон је познато тешко огребати захваљујући агресивним ЦАПТЦХА и анти-бот одбранама.
Дакле, како је то функционисало? Иза сцене, АИ агент је позвао наweb_data_amazon_product
МЦП алат—један од унапред изграђених моћних алата које је открио Бритх Дата МЦП сервер. Он се бавио прљавим послом: рјешавајући ЦАПТЦХА, заобилазећи детекцију бота и узимајући робу.
I tu se ne zaustavlja!
Можете га користити да питате АИ агента за даље анализе тако што ћете креирати сложеније позиве.На крају крајева, АИ агент може слободно да бира и лансира алате из свог МЦП-помоћног алата, тако даMogućnosti su zaista beskonačne️
Са таквом моћном структуром,Svet je tvoj!(Само не иди потпуно Тони Монтана )
Завршне мисли
Сада знате како да преоптеретите било ког АИ агента изграђеног са ОпенАИ Агентс СДК-ом - било да ради на ГПТ-у, Близанцима или било чему следећем - повезивањем у МЦП сервер.
У детаљима, увукли смо се у моћнеBright Data MCP serverSamo jedan od onihmnoge usluge koje smo izgradili za podršku stvarnim tokovima rada AI na skali.
U kompaniji Bright Data, naša misija je jednostavna: učiniti veštačku inteligenciju dostupnom svima, svuda, pa do sledećeg puta – ostanite radoznali, budite hrabri i nastavite da gradite budućnost veštačke inteligencije sa kreativnošću.