生成知识:完整指南与示例
掌握生成知识——在回答前提示生成上下文,最适合事实准确性
生成知识:完整指南与示例
掌握生成知识——在回答前提示生成上下文,最适合事实准确性
生成知识:完整指南 什么是生成知识? 生成知识是一种提示技术,涉及在回答前提示生成上下文。它对于事实准确性特别有效。何时使用生成知识
生成知识:完整指南
什么是生成知识?
生成知识是一种提示技术,涉及在回答前提示生成上下文。它对于事实准确性特别有效。
何时使用生成知识
在以下情况下使用此技术:
工作原理
生成知识的核心思想:
基本示例
python
from openai import OpenAIclient = OpenAI()
def generated_knowledge_prompt(task: str, context: str = "") -> str:
"""应用生成知识技术。"""
# 生成知识提示结构
system = """你是一位专业的AI助手。
对每个任务进行系统推理。
要精确、准确且结构良好。"""
# 生成知识的核心提示
prompt = f"""任务:{task}
{"上下文:" + context if context else ""}
请提示在回答前生成上下文,以准确完成此任务。"""
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": system},
{"role": "user", "content": prompt}
],
temperature=0.3,
max_tokens=1500
)
return response.choices[0].message.content
使用示例
result = generated_knowledge_prompt(
task="分析微服务架构的优缺点",
context="对于一家拥有5名开发人员和1000名用户的初创公司"
)
print(result)
高级实现
python
from pydantic import BaseModel
from typing import Optionalclass PromptResult(BaseModel):
output: str
technique: str = "Generated Knowledge"
confidence: Optional[float] = None
reasoning: Optional[str] = None
class GeneratedKnowledgePrompter:
"""生产就绪的生成知识实现。"""
def __init__(self, model: str = "gpt-4o"):
self.client = OpenAI()
self.model = model
self.technique = "Generated Knowledge"
def run(self, task: str, **kwargs) -> PromptResult:
"""执行生成知识提示。"""
response = self.client.chat.completions.create(
model=self.model,
messages=self._build_messages(task, **kwargs),
temperature=kwargs.get("temperature", 0.3),
max_tokens=kwargs.get("max_tokens", 2000)
)
content = response.choices[0].message.content
return PromptResult(
output=content,
technique=self.technique
)
def _build_messages(self, task: str, **kwargs) -> list[dict]:
"""构建生成知识特定的消息。"""
system = f"""你是一位使用{self.technique}解决任务的专家。
系统地应用{desc}。
格式:提供清晰、结构化的响应。"""
return [
{"role": "system", "content": system},
{"role": "user", "content": self._build_prompt(task, **kwargs)}
]
def _build_prompt(self, task: str, **kwargs) -> str:
"""构建生成知识的特定提示。"""
return f"""使用{self.technique},完成以下任务:
任务:{task}
应用{desc}以获得高质量答案。"""
使用
prompter = GeneratedKnowledgePrompter()
result = prompter.run("编写一个安全解析JSON的Python函数")
print(result.output)
实际用例
用例1:事实准确性
python
专门用于事实准确性
prompter = GeneratedKnowledgePrompter(model="gpt-4o")示例:事实准确性任务
result = prompter.run(
f"解决这个事实准确性问题:[你的具体问题]"
)
print(f"解决方案:{result.output}")
用例2:内容生成
python
应用于内容创作
result = prompter.run(
"写一篇关于AI代理的技术博客文章引言",
temperature=0.7, # 创意任务使用更高温度
max_tokens=500
)
print(result.output)
与其他技术的比较
常见错误
衡量有效性
python
import json
from statistics import meandef evaluate_prompt_quality(
prompter: GeneratedKnowledgePrompter,
test_cases: list[dict],
n_runs: int = 3
) -> dict:
"""通过多次运行评估提示质量。"""
scores = []
for test in test_cases:
run_scores = []
for _ in range(n_runs):
result = prompter.run(test["task"])
# 根据预期输出评分
score = 1.0 if test.get("expected") in result.output else 0.5
run_scores.append(score)
scores.append(mean(run_scores))
return {
"technique": "Generated Knowledge",
"avg_score": mean(scores),
"test_cases": len(test_cases)
}
资源
相关工具