UNPKG

structurize-mcp

Version:

Anthropic MCP Server for generating structured CSV files from natural language descriptions

51 lines (49 loc) 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GeminiImageAnalyzer = void 0; const generative_ai_1 = require("@google/generative-ai"); class GeminiImageAnalyzer { genAI; model; constructor(config) { this.genAI = new generative_ai_1.GoogleGenerativeAI(config.geminiApiKey); this.model = this.genAI.getGenerativeModel({ model: 'gemini-1.5-pro' }); } async analyzeImage(imageData) { try { const prompt = ` 分析这张图片中的表格内容,并将其转换为 mermaid 图表格式。 请遵循以下规则: 1. 如果是简单表格,使用 mermaid 的 graph TD 格式 2. 如果是复杂的关系表格,使用 mermaid 的 erDiagram 格式 3. 保持表格的层级关系 4. 确保生成的 mermaid 语法正确 只返回 mermaid 格式的文本,不需要其他解释。 `; const result = await this.model.generateContent([ prompt, { inlineData: { mimeType: 'image/jpeg', data: imageData.toString('base64') } } ]); const response = await result.response; const text = response.text(); // 提取 mermaid 文本(假设返回的文本中包含 mermaid 语法) const mermaidText = text.trim(); return { mermaidText, rawText: text }; } catch (error) { return { mermaidText: '', error: error instanceof Error ? error.message : '图片分析失败' }; } } } exports.GeminiImageAnalyzer = GeminiImageAnalyzer;