| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- import os
- import sys
- import json
- import uuid
- from datetime import datetime, timezone
- from pathlib import Path
- # 添加项目路径
- sys.path.insert(0, '/root/Agent')
- os.environ['OPEN_ROUTER_API_KEY'] = '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'
- os.environ['QWEN_API_KEY'] = 'sk-9453c827b9e14108b53d2b30ef7c75fe'
- os.environ['KNOWHUB_DB'] = 'gp-t4n72471pkmt4b9q7o-master.gpdbmaster.singapore.rds.aliyuncs.com'
- os.environ['KNOWHUB_PORT'] = '5432'
- os.environ['KNOWHUB_USER'] = 'aiddit_aigc'
- os.environ['KNOWHUB_PASSWORD'] = '%a&&yqNxg^V1$toJ*WOa^-b^X=QJ'
- os.environ['KNOWHUB_DB_NAME'] = 'knowhub'
- from knowhub.knowhub_db.pg_store import PostgreSQLStore
- from knowhub.embeddings import get_embedding
- # 知识数据
- knowledge_data = {
- "task": "人物近景肖像",
- "content": "生成人物近景半身或胸部以上画面、突出面部表情和情绪、背景虚化的核心工序要素包括:\n\n1. **近景/半身构图**:使用 tight medium close-up、extreme close-up、中近景半身等提示词;推荐 85mm 镜头视角;构图比例 2:3 或 9:16(竖版)、3:4(职业照)\n\n2. **面部表情细节**:使用锁脸技术(nano-banana 锁脸功能)、微表情描述(slightly parted lips、calm introspective expression)、多表情生成(3×3 网格生成 9 种表情);关键提示词:direct steady eye contact、subtle catchlights in eyes\n\n3. **背景虚化效果**:推荐参数 85mm 镜头 + f/1.4-f/1.8 光圈;提示词:shallow depth of field、extremely shallow depth of field、soft bokeh blur、blurring out the neck, ear, and background completely;后期工具:Photoshop Lens Blur、DxO Photolab 9 Bokeh\n\n4. **皮肤质感真实**:避免塑料感的关键提示词:realistic skin texture with visible pores and natural imperfections、no plastic smoothing、dewy smooth texture;修复工具:Enhancor.ai Skin Realism\n\n5. **眼神互动感**:direct eye contact、catchlights in eyes、gentle and engaging eyes、looking directly at the camera",
- "types": ["strategy"],
- "tags": {
- "domain": "AI 生图",
- "source": "多渠调研汇总",
- "task": "人物近景肖像"
- },
- "score": 5,
- "source": {"category": "research"}
- }
- print("正在连接数据库...")
- store = PostgreSQLStore()
- # 生成 ID
- now = datetime.now(timezone.utc)
- knowledge_id = f"knowledge-{now.strftime('%Y%m%d')}-{uuid.uuid4().hex[:8]}"
- message_id = f"msg-{uuid.uuid4().hex[:12]}"
- # 生成 embedding
- print("正在生成 embedding...")
- task_embedding = get_embedding(knowledge_data["task"])
- content_embedding = get_embedding(knowledge_data["content"])
- # 构建知识记录
- knowledge = {
- "id": knowledge_id,
- "message_id": message_id,
- "task": knowledge_data["task"],
- "content": knowledge_data["content"],
- "types": knowledge_data["types"],
- "tags": knowledge_data["tags"],
- "tag_keys": list(knowledge_data["tags"].keys()),
- "scopes": [],
- "owner": "librarian",
- "source": knowledge_data["source"],
- "eval": {"score": knowledge_data["score"]},
- "created_at": now.isoformat(),
- "updated_at": now.isoformat(),
- "status": "approved",
- "task_embedding": task_embedding,
- "content_embedding": content_embedding,
- "requirement_ids": [],
- "capability_ids": [],
- "tool_ids": [],
- "resource_ids": [],
- }
- print(f"正在插入知识:{knowledge_id}")
- print(f" Task: {knowledge['task']}")
- print(f" Types: {knowledge['types']}")
- print(f" Tags: {knowledge['tags']}")
- store.insert(knowledge)
- print(f"\n✓ 知识已成功入库!")
- print(f" ID: {knowledge_id}")
- print(f" Message ID: {message_id}")
- # 验证插入
- retrieved = store.get_by_id(knowledge_id)
- if retrieved:
- print(f"\n✓ 验证成功:已检索到刚插入的知识")
- print(f" Task: {retrieved['task']}")
- print(f" Content 长度:{len(retrieved['content'])} 字符")
- else:
- print(f"\n✗ 验证失败:无法检索到刚插入的知识")
|