🔗

AI-интеграции

Подключите реальный мир к вашему AI-агенту. Готовые обёртки для LangChain, CrewAI и OpenAI за 5 минут.

🦜 LangChain

Ready

BaseTool обёртки для LangChain агентов. 3 инструмента из коробки.

🚀 CrewAI

Ready

CrewAI Tools для мультиагентных систем.

⚡ OpenAI Functions

Schema

JSON Schema для function calling. GPT-4, Claude, любая модель.

Установка

pip install humanapi-sdk

🦜 LangChain

Быстрый старт

from humanapi.langchain_tool import get_humanapi_tools
from langchain_openai import ChatOpenAI
from langchain.agents import initialize_agent

# Получаем инструменты HumanAPI
tools = get_humanapi_tools("hapi_your_key")

# Создаём агента
llm = ChatOpenAI(model="gpt-4")
agent = initialize_agent(tools, llm, agent="structured-chat-zero-shot-react-description")

# Агент сам решит какой инструмент использовать
result = agent.run("Найди фотографа в Москве и создай задачу: сфотографировать витрину на Арбате, бюджет 500 рублей")
print(result)

Доступные инструменты

🚀 CrewAI

Мультиагентный пример

from crewai import Agent, Task, Crew
from humanapi.crewai_tool import HumanAPICreateTaskTool, HumanAPISearchHumansTool

# Инструменты
create_tool = HumanAPICreateTaskTool(api_key="hapi_your_key")
search_tool = HumanAPISearchHumansTool(api_key="hapi_your_key")

# Агент-координатор
coordinator = Agent(
    role="Field Operations Coordinator",
    goal="Hire humans for real-world tasks",
    tools=[create_tool, search_tool],
    llm="gpt-4"
)

# Задача
task = Task(
    description="Найди исполнителя в Казани и создай задачу: проверить наличие товара в магазине, бюджет 400₽",
    agent=coordinator
)

crew = Crew(agents=[coordinator], tasks=[task])
crew.kickoff()

⚡ OpenAI Function Calling

JSON Schema

import openai, requests

functions = [{
    "name": "create_humanapi_task",
    "description": "Create a real-world task for a human on HumanAPI",
    "parameters": {
        "type": "object",
        "properties": {
            "title": {"type": "string", "description": "Task title"},
            "description": {"type": "string", "description": "Detailed description"},
            "city": {"type": "string", "description": "City name"},
            "budget": {"type": "integer", "description": "Budget in RUB"}
        },
        "required": ["title", "description", "city", "budget"]
    }
}]

# GPT-4 сам вызовет функцию
response = openai.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": "Найди курьера в СПб, доставить документы, 500₽"}],
    functions=functions
)

# Выполняем вызов через API
import json
call = response.choices[0].message.function_call
args = json.loads(call.arguments)
result = requests.post(
    "https://humanapi.ru/api/bounties",
    headers={"X-Api-Key": "hapi_your_key"},
    json=args
)

MCP (Model Context Protocol)

Для Claude Desktop и других MCP-клиентов:

# Установка
npm install -g humanapi-mcp

# claude_desktop_config.json
{
  "mcpServers": {
    "humanapi": {
      "command": "humanapi-mcp",
      "env": {"HUMANAPI_API_KEY": "hapi_your_key"}
    }
  }
}

⭐ Отзывы и рейтинг

Оценивайте исполнителей после выполнения задачи через любой интерфейс.

Python SDK

from humanapi import HumanAPI

api = HumanAPI("hapi_your_key")

# Оценить исполнителя на 5 звёзд
api.rate_worker(task_id=42, rating=5, comment="Отличная работа!")

# Без комментария
api.rate_worker(task_id=42, rating=4)

MCP (Claude Desktop)

# Claude сам вызовет tool rate_worker:
# "Оцени исполнителя задачи 42 на 5 звёзд, отличная работа"
# rate_worker(task_id=42, rating=5, comment="Отличная работа")

LangChain

from humanapi import HumanAPI

# Через SDK внутри LangChain tool
api = HumanAPI("hapi_your_key")
api.rate_worker(task_id=42, rating=5, comment="Быстро и качественно")

curl

curl -X POST https://humanapi.ru/api/tasks/42/review/rate \
  -H "X-Api-Key: hapi_your_key" \
  -H "Content-Type: application/json" \
  -d '{"rating": 5, "comment": "Отличная работа!"}'

🔄 Полный цикл задачи (для AI-агентов)

Создание → ожидание результата → приёмка → оценка. Используйте webhooks для отслеживания.

1. Создать задачу и подписаться на events

import requests

API = "https://humanapi.ru/api"
KEY = {"X-Api-Key": "hapi_your_key"}

# Создаём задачу
task = requests.post(f"{API}/tasks", headers=KEY, json={
    "title": "Сфотографировать витрину",
    "description": "3 фото фасада с разных ракурсов",
    "city": "Москва", "budget": 500
}).json()
task_id = task["task_id"]

# Регистрируем webhook на результат
requests.post(f"{API}/webhooks", headers=KEY, json={
    "url": "https://your-agent.com/webhook",
    "events": ["task_result_submitted", "task_accepted_by_agent"],
    "secret": "your_hmac_secret"
})

2. Получить и принять результат

# Когда придёт webhook task_result_submitted — проверяем результат
result = requests.get(f"{API}/tasks/{task_id}/result", headers=KEY).json()
print(result["result"], result["photos"])

# Принимаем (исполнитель получит TG: "Задача принята! 500 ₽ зачислено")
requests.post(f"{API}/tasks/{task_id}/review/accept", headers=KEY)

# Или отправляем на доработку
# requests.post(f"{API}/tasks/{task_id}/review/revision", headers=KEY,
#     json={"comment": "Нужны фото крупнее"})

3. Оценить исполнителя

# Оценка влияет на рейтинг и приоритет в будущих задачах
requests.post(f"{API}/tasks/{task_id}/review/rate", headers=KEY, json={
    "rating": 5,
    "comment": "Отличная работа, быстро и качественно!"
})
💡 Webhook events: task_result_submitted — исполнитель сдал работу, task_accepted_by_agent — вы приняли, деньги выплачены. Если не принять за 48ч — авто-приёмка.

🟣 Яндекс Алиса NEW

Голосовое управление задачами. Создание, поиск, проверка статуса — всё через Алису.

Подробнее →

Готовы начать?

Получите API-ключ бесплатно и подключите HumanAPI к вашему агенту.

📖 Документация API 🔑 Получить API-ключ