This commit is contained in:
gongwenxin
2025-05-21 18:09:14 +08:00
parent 00de3a880a
commit 2b1afbf47e
14 changed files with 2287 additions and 22083 deletions
@@ -112,7 +112,7 @@ class LLMService:
def generate_parameters_from_schema(
self,
pydantic_model_class: type[BaseModel],
prompt_instructions: Optional[str] = None,
prompt_instruction: Optional[str] = None,
max_tokens: int = 1024,
temperature: float = 0.7
) -> Optional[Dict[str, Any]]:
@@ -133,8 +133,8 @@ class LLMService:
"不包含任何额外的解释、注释或Markdown标记。"
)
user_prompt_content = f"请为以下JSON Schema生成一个有效的JSON对象实例:\n\n```json\n{schema_str}\n```\n"
if prompt_instructions:
user_prompt_content += f"\n请遵循以下额外指令:\n{prompt_instructions}"
if prompt_instruction:
user_prompt_content += f"\n请遵循以下额外指令:\n{prompt_instruction}"
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": user_prompt_content}
@@ -194,7 +194,7 @@ if __name__ == '__main__':
logger.info("\n--- 测试 SampleUserProfile 参数生成 ---")
generated_profile = llm_service_instance.generate_parameters_from_schema(
pydantic_model_class=SampleUserProfile,
prompt_instructions="请生成一个表示非活跃用户的配置文件,用户名包含 \"test_user\" 字样,城市为上海,并包含至少一个兴趣爱好。"
prompt_instruction="请生成一个表示非活跃用户的配置文件,用户名包含 \"test_user\" 字样,城市为上海,并包含至少一个兴趣爱好。"
)
if generated_profile:
@@ -210,7 +210,7 @@ if __name__ == '__main__':
logger.info("\n--- 测试 SampleUserAddress 参数生成 ---")
generated_address = llm_service_instance.generate_parameters_from_schema(
pydantic_model_class=SampleUserAddress,
prompt_instructions="生成一个位于北京市朝阳区的地址,邮编以1000开头。"
prompt_instruction="生成一个位于北京市朝阳区的地址,邮编以1000开头。"
)
if generated_address:
logger.info(f"成功生成的 UserAddress:\n{json.dumps(generated_address, indent=2, ensure_ascii=False)}")