Pull to refresh
4K+
240
Π‘Π΅Ρ€Π³Π΅ΠΉ АвСркиСв@averkij

ML Engineer

190
Subscribers
Send message

πŸ”ΊΠŸΡ€ΠΈΠΌΠ΅Ρ€ MCP для Gemini CLI

ΠšΠΎΠ²Ρ‹Ρ€ΡΡŽΡΡŒ с Gemini CLI, ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΌ Π°Π³Π΅Π½Ρ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° днях Π²Ρ‹ΡˆΠ΅Π». Накидал ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ MCP сСрвСра.

my_mcp.py

from openai import OpenAI
from mcp.server.fastmcp import FastMCP
import base64
import os


client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
mcp = FastMCP("openai-image-generator")

@mcp.tool(description="Generate an image with OpenAI Images API")
def generate_image(
    prompt: str,
    size: str = "1024x1024",   # "1024x1536", "1536x1024", "1024x1024"
    quality: str = "high",     # 'low', 'medium', 'high'
    background: str = "transparent"
) -> str:
    """Return a file path to the generated image."""
    response = client.images.generate(
            model="gpt-image-1",
            prompt=prompt,
            size=size,
            quality=quality,
            output_format="png",
            user="test_user",
            moderation="low",
            background=background,
            n=1)
        
    image_base64 = response.data[0].b64_json
    image_bytes = base64.b64decode(image_base64)

    file_name = f"gen_image.png"
    file_path = os.path.join(os.getcwd(), file_name)

    with open(file_path, "wb") as f:
        f.write(image_bytes)
        
    return file_path

if __name__ == "__main__":
    mcp.run()

Π’ΡƒΡ‚ вызываСтся API для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ изобраТСния, ΠΊΠ»ΡŽΡ‡ бСрСтся ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния, ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° сохраняСтся Π½Π° диск. И прописываСм ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ Ρ„Π°ΠΉΠ»ΠΈΠΊΠ° Π² settings.json Gemini:

{
  "mcpServers": {
    "openai-image-generator": {
      "command": "python",
      "args": [
        "/path/to/my_mcp.py"
      ],
      "env": 
        "OPENAI_API_KEY": "${OPENAI_API_KEY}"
      }
    }
  }
}

Если Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΎ для своСго рСпозитория, Ρ‚ΠΎ Gemini составит Ρ€Π΅Π»Π΅Π²Π°Π½Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠΌΠΏΡ‚ ΠΏΠΎ Ρ€Π΅ΠΏΠ΅, Π²Ρ‹Π·ΠΎΠ²Π°Π΅Ρ‚ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈ ΠΏΠΎ ТСланию ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ Readme ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π² Π½Π΅Π³ΠΎ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ.

Бмысл Ρ‚ΡƒΡ‚ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ любой Π²Ρ‹Π·ΠΎΠ² вашСго внСшнСго инструмСнта.

Π’ Ρ†Π΅Π»ΠΎΠΌ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΊΡƒΡ‡Π° Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… сСрвСров, ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ GitHub для создания Π°Π³Π΅Π½Ρ‚ΠΎΠΌ ΠΏΡƒΠ»Π»-рСквСста ΠΈΠ»ΠΈ RAG Π½Π° своих Ρ„Π°ΠΉΠ»Π°Ρ…. Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ список Π΅ΡΡ‚ΡŒ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π΅ΠΏΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² MCP ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°.

Tags:
Total votes 5: ↑5 and ↓0+5
Comments5

πŸ”ΊHFDay.ru

Π‘Π΄Π΅Π»Π°Π» для сообщСства сайт с ΠΎΠ±Π·ΠΎΡ€Π°ΠΌΠΈ статСй с HF Daily Papers Π½Π° русском.

hfday.ru
hfday.ru

БинхронизируСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ час, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³Ρƒ ΠΈΠ»ΠΈ вывСсти Π²Π²Π΅Ρ€Ρ… Π½Π΅Π΄Π°Π²Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ, Ρ‡Π΅Π³ΠΎ, кстати, Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ страничкС Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

ΠžΠ±Π·ΠΎΡ€Ρ‹, Ρ‚Π΅Π³ΠΈ ΠΏΠΎ Ρ‚Π΅ΠΌΠ°ΠΌ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· claude-3.7 ΠΈ gpt-4o Π½Π° основС ΡΠΏΠ°Ρ€ΡˆΠ΅Π½Π½Ρ‹Ρ… с сайта абстрактов. Аффилиации, ΠΈΠΌΠ΅Π½Π° Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Ρ‚Π°ΡΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈΠ· статСй ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ.

Код. Π Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎ всС ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π° GitHub β€” Ρ‡Π΅Ρ€Π΅Π· Workflow Π΄ΠΆΠΎΠ±Ρ‹ ΠΈ Pages, Ρ‡Ρ‚ΠΎ само ΠΏΠΎ сСбС ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΈΠΊΠΎΠ»ΡŒΠ½ΠΎ. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΏΠΈΡˆΡƒΡ‚ Π»ΠΎΠ³ΠΈ ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ страничку, которая коммитится ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π’Π°ΠΊΡƒΡŽ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Код ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚.

Π”Π°Π½Π½Ρ‹Π΅. ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ выпуски, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ json с классифицированными ΠΎΠ±Π·ΠΎΡ€Π°ΠΌΠΈ, ΠΎΡ‚ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΏΠ°ΠΏΠΊΡƒ /d, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ€Π°Ρ‚ΡŒ ΠΈΡ… для своих Π½ΡƒΠΆΠ΄. ΠšΡƒΡˆΠ°Π΅Ρ‚ это Π³Π΄Π΅-Ρ‚ΠΎ ΠΏΠΎ 20-30 Ρ€ΡƒΠ±Π»Π΅ΠΉ Π² дСнь.

Π―Π·Ρ‹ΠΊΠΈ. ΠšΡ€ΠΎΠΌΠ΅ русского, ΠΎΠ±Π·ΠΎΡ€Ρ‹ пСрСводятся Π½Π° английский ΠΈ китайский (Π²Π΄Ρ€ΡƒΠ³ Π²Ρ‹ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚Π΅).

Π€ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹. МоТно Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ статСй, классификация Π½Π° 42 класса (#agents, #data, #healthcare, #machine_translation, #science, #long_context, #reasoning ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅). МоТно Π΄Π΅Π»Π°Ρ‚ΡŒ пСрСкрСстныС ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹.

Π Π΅ΠΉΡ‚ΠΈΠ½Π³. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠΏΠ° ΠΏΠΎ дням Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠΏ ΠΏΠΎ мСсяцам β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° июнь Π±Ρ‹Π»ΠΎ ΡƒΠΆΠ΅ 600+ статСй. МоТно ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ Ρ‚Π΅ΠΌΠ°ΠΌ. ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ страничкС Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π½Π΅Ρ‚.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, добавляйтС Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΈ ΡˆΠ°Ρ€ΡŒΡ‚Π΅ с ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ. ИдСи ΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ΡΡ.

hfday.ru x Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚ ΠΎΠ±Ρ€Π΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ

//Upd. Π—Π°Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ β€” ΠΊΠΎΠ΄ Ρ‚ΡƒΡ‚.

Tags:
Total votes 5: ↑5 and ↓0+5
Comments2

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

ЀулстСк Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ML Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ
Π’Π΅Π΄ΡƒΡ‰ΠΈΠΉ
From 600,000 β‚½