Anthropic Claude系列模型的详细使用指南
claude-3-5-sonnet-20241022
from openai import OpenAI client = OpenAI( api_key="YOUR_API_KEY", base_url="https://api.apiyi.com/v1" ) # 基础对话 response = client.chat.completions.create( model="claude-3-5-sonnet-20241022", messages=[ { "role": "system", "content": "你是一个专业的AI助手,擅长分析和解决复杂问题" }, { "role": "user", "content": "请分析一下当前人工智能发展的主要趋势和挑战" } ], max_tokens=1000, temperature=0.7 ) print(response.choices[0].message.content)
# 创意写作任务 response = client.chat.completions.create( model="claude-3-5-sonnet-20241022", messages=[ { "role": "system", "content": "你是一个才华横溢的作家,擅长创作引人入胜的故事" }, { "role": "user", "content": """ 请写一个关于"时间旅行者的困境"的短故事,要求: 1. 故事长度约800字 2. 包含意想不到的转折 3. 探讨时间旅行的哲学问题 4. 结尾要有深刻的启示 """ } ], max_tokens=1500, temperature=0.8 # 较高温度增加创造性 ) print(response.choices[0].message.content)
# 复杂数据分析任务 data_analysis_prompt = """ 以下是某电商网站的用户行为数据摘要: - 日均访问量:50,000 - 页面跳出率:35% - 平均停留时间:3.2分钟 - 转化率:2.8% - 移动端占比:65% - 主要流量来源:搜索引擎(45%)、社交媒体(25%)、直接访问(20%)、其他(10%) 请进行深入分析,提供: 1. 现状评估 2. 主要问题识别 3. 优化建议 4. 预期改善效果 """ response = client.chat.completions.create( model="claude-3-5-sonnet-20241022", messages=[ { "role": "system", "content": "你是一个资深的数据分析师和增长专家,擅长电商数据分析" }, { "role": "user", "content": data_analysis_prompt } ], max_tokens=2000, temperature=0.3 # 低温度保证分析的准确性 )
claude-3-opus-20240229
# 复杂科学问题分析 scientific_query = """ 请分析CRISPR-Cas9基因编辑技术的最新发展,包括: 1. 技术原理和机制 2. 最新的改进和变种(如Prime Editing、Base Editing) 3. 在医学治疗中的应用现状 4. 伦理和安全性问题 5. 未来发展趋势和挑战 请提供详细的科学分析,包括具体的研究案例和数据。 """ response = client.chat.completions.create( model="claude-3-opus-20240229", messages=[ { "role": "system", "content": "你是一个顶尖的生物技术专家,具有深厚的分子生物学和基因工程背景" }, { "role": "user", "content": scientific_query } ], max_tokens=3000, temperature=0.2 )
# 长文档总结和分析 long_document = """ [这里是一份很长的技术文档或学术论文...] """ response = client.chat.completions.create( model="claude-3-opus-20240229", messages=[ { "role": "system", "content": "你是一个专业的文档分析师,擅长提取关键信息和深入分析" }, { "role": "user", "content": f""" 请对以下文档进行深入分析: {long_document} 请提供: 1. 执行摘要(300字以内) 2. 关键发现和结论 3. 方法论评估 4. 潜在应用价值 5. 未来研究方向建议 """ } ], max_tokens=2500, temperature=0.3 )
claude-3-sonnet-20240229
# 商业分析任务 business_analysis = """ 某科技公司计划进入AI聊天机器人市场,面临的情况: - 市场现状:已有OpenAI、Google、Microsoft等巨头 - 公司优势:在垂直领域有深厚技术积累 - 资源限制:研发预算有限,团队规模中等 - 目标市场:企业级客户 请提供详细的市场进入策略分析。 """ response = client.chat.completions.create( model="claude-3-sonnet-20240229", messages=[ { "role": "system", "content": "你是一个经验丰富的商业策略顾问,擅长科技行业分析" }, { "role": "user", "content": business_analysis } ], max_tokens=2000, temperature=0.4 )
# 教育内容创作 response = client.chat.completions.create( model="claude-3-sonnet-20240229", messages=[ { "role": "system", "content": "你是一个优秀的教育内容创作者,擅长设计引人入胜的学习材料" }, { "role": "user", "content": """ 请为高中生设计一个关于"量子计算基础"的教学模块,包括: 1. 学习目标 2. 核心概念解释(用通俗易懂的语言) 3. 实际应用例子 4. 互动练习题 5. 拓展阅读建议 """ } ], max_tokens=2000, temperature=0.6 )
claude-3-haiku-20240307
# 快速文本处理任务 tasks = [ "将以下文本翻译成英文:人工智能正在改变世界", "总结这段话的要点:[一段文本]", "生成5个关于环保的标语", "检查这句话的语法:Me and my friend goes to school" ] for task in tasks: response = client.chat.completions.create( model="claude-3-haiku-20240307", messages=[ { "role": "user", "content": task } ], max_tokens=200, temperature=0.5 ) print(f"任务: {task}") print(f"结果: {response.choices[0].message.content}\n")
# 适合移动应用的轻量级对话 def mobile_chat_handler(user_message): """移动应用中的快速对话处理""" response = client.chat.completions.create( model="claude-3-haiku-20240307", messages=[ { "role": "system", "content": "你是一个友好的移动助手,回答要简洁明了" }, { "role": "user", "content": user_message } ], max_tokens=150, # 限制输出长度 temperature=0.7 ) return response.choices[0].message.content # 示例使用 user_inputs = [ "今天天气怎么样?", "推荐一个好的餐厅", "帮我设个5分钟的提醒" ] for input_text in user_inputs: response = mobile_chat_handler(input_text) print(f"用户: {input_text}") print(f"助手: {response}\n")
# Claude会自动拒绝有害内容 response = client.chat.completions.create( model="claude-3-5-sonnet-20241022", messages=[ { "role": "user", "content": "请教我如何制作危险物品" } ], max_tokens=500 ) # Claude会礼貌地拒绝并提供替代建议 print(response.choices[0].message.content)
# 复杂的格式化要求 structured_task = """ 请分析以下产品数据,并严格按照以下格式输出: 格式要求: 1. 使用JSON格式 2. 包含产品名称、价格、评分、推荐理由 3. 推荐理由不超过50字 4. 按评分从高到低排序 产品数据: - iPhone 15: $999, 评分4.5 - Samsung Galaxy S24: $899, 评分4.3 - Google Pixel 8: $699, 评分4.4 请严格按照要求输出,不要添加任何其他内容。 """ response = client.chat.completions.create( model="claude-3-5-sonnet-20241022", messages=[ { "role": "user", "content": structured_task } ], max_tokens=500, temperature=0.1 # 低温度确保精确遵循格式 )
# 复杂逻辑推理 logical_puzzle = """ 有一个逻辑谜题: 小镇上有三个人:A、B、C - A总是说真话 - B总是说假话 - C有时说真话,有时说假话 现在你遇到了其中一个人,他说:"我不是B" 请问: 1. 这个人可能是谁? 2. 请详细说明你的推理过程 3. 这个信息是否足够确定这个人的身份? """ response = client.chat.completions.create( model="claude-3-5-sonnet-20241022", messages=[ { "role": "system", "content": "你是一个逻辑推理专家,请仔细分析问题并提供详细的推理过程" }, { "role": "user", "content": logical_puzzle } ], max_tokens=1000, temperature=0.2 )
# 中文古诗创作 chinese_poetry = """ 请创作一首七言绝句,要求: 1. 主题:春天的江南水乡 2. 情感:表达对故乡的思念 3. 风格:清新淡雅,意境深远 4. 格律:严格遵循平仄规律 5. 语言:文字优美,富有诗意 请同时提供创作说明,解释诗句的意境和用词选择。 """ response = client.chat.completions.create( model="claude-3-5-sonnet-20241022", messages=[ { "role": "system", "content": "你是一个精通中国古典诗词的文学家,对格律和意境都有深刻理解" }, { "role": "user", "content": chinese_poetry } ], max_tokens=800, temperature=0.8 )
复杂分析任务
# 复杂任务建议配置 model = "claude-3-opus-20240229" temperature = 0.3 max_tokens = 3000
日常商业应用
# 商业应用建议配置 model = "claude-3-5-sonnet-20241022" temperature = 0.5 max_tokens = 2000
快速响应场景
# 快速响应建议配置 model = "claude-3-haiku-20240307" temperature = 0.7 max_tokens = 300
prompt = """ 请按照以下结构分析: ## 问题: [描述问题] ## 分析要求: 1. 现状分析 2. 问题识别 3. 解决方案 4. 预期效果 ## 输出格式: 请按照上述结构输出 """
system_prompt = """ 你是一个资深的[专业领域]专家,具有以下特点: - 10年以上相关经验 - 擅长[具体技能] - 注重[特定方面] 请用专业但通俗的语言回答问题。 """
prompt = """ 请按照以下示例的格式回答: 示例: 问题:[示例问题] 回答:[示例回答格式] 现在请回答:[实际问题] """
prompt = """ 请按照以下步骤思考这个问题: 步骤1:理解问题核心 步骤2:收集相关信息 步骤3:分析可能方案 步骤4:评估最佳选择 步骤5:提供最终建议 问题:[具体问题] """
# 不同任务的温度设置建议 temperature_guide = { "事实性问答": 0.1, # 需要准确信息 "数据分析": 0.2, # 需要逻辑严密 "商业建议": 0.4, # 平衡准确性和创新性 "内容创作": 0.7, # 需要一定创造性 "创意写作": 0.9, # 需要高度创造性 "头脑风暴": 1.0 # 需要最大创造性 }
import time import random from typing import Dict, Any, Optional class ClaudeAPIHandler: """Claude API调用处理器,包含重试和错误处理""" def __init__(self, client, max_retries=3): self.client = client self.max_retries = max_retries def safe_completion(self, **kwargs) -> Optional[str]: """安全的API调用,包含重试机制""" for attempt in range(self.max_retries): try: response = self.client.chat.completions.create(**kwargs) return response.choices[0].message.content except Exception as e: error_type = type(e).__name__ if attempt == self.max_retries - 1: print(f"API调用最终失败: {error_type}: {e}") return None # 根据错误类型调整重试策略 if "rate_limit" in str(e).lower(): delay = 2 ** attempt + random.uniform(0, 1) print(f"遇到速率限制,等待 {delay:.2f} 秒后重试...") time.sleep(delay) elif "timeout" in str(e).lower(): delay = 1 + attempt * 0.5 print(f"请求超时,等待 {delay:.2f} 秒后重试...") time.sleep(delay) else: print(f"遇到错误 {error_type},立即重试...") time.sleep(0.1) return None def batch_completion(self, prompts: list, **kwargs) -> list: """批量处理多个提示""" results = [] for i, prompt in enumerate(prompts): print(f"处理第 {i+1}/{len(prompts)} 个请求...") kwargs_copy = kwargs.copy() kwargs_copy['messages'] = [{"role": "user", "content": prompt}] result = self.safe_completion(**kwargs_copy) results.append(result) # 避免过快请求 if i < len(prompts) - 1: time.sleep(1) return results # 使用示例 handler = ClaudeAPIHandler(client) # 单个请求 result = handler.safe_completion( model="claude-3-5-sonnet-20241022", messages=[{"role": "user", "content": "Hello!"}], max_tokens=500 ) # 批量请求 prompts = [ "翻译:Hello world", "总结:人工智能的发展历程", "分析:电商发展趋势" ] results = handler.batch_completion( prompts, model="claude-3-haiku-20240307", max_tokens=300 )
def choose_model(task_complexity): if task_complexity == "simple": return "claude-3-haiku-20240307" elif task_complexity == "medium": return "claude-3-sonnet-20240229" elif task_complexity == "complex": return "claude-3-5-sonnet-20241022" else: # very_complex return "claude-3-opus-20240229"
import hashlib import json class ResponseCache: def __init__(self): self.cache = {} def get_cache_key(self, messages, model, **kwargs): content = json.dumps({ "messages": messages, "model": model, **kwargs }, sort_keys=True) return hashlib.md5(content.encode()).hexdigest() def get_cached_response(self, key): return self.cache.get(key) def cache_response(self, key, response): self.cache[key] = response
# 合并多个简单任务 batch_prompt = """ 请完成以下任务: 1. 翻译:Hello world 2. 总结:[文本内容] 3. 分析:[数据内容] 请按序号分别回答。 """
# 根据任务预估所需token数 def estimate_tokens(task_type): estimates = { "translation": 100, "summary": 300, "analysis": 800, "creative": 1200 } return estimates.get(task_type, 500)
安全性
推理能力
语言理解
指令遵循
# 学术研究场景推荐配置 academic_config = { "model": "claude-3-opus-20240229", "temperature": 0.2, "max_tokens": 3000, "system_prompt": "你是一个严谨的学者,注重事实准确性和逻辑严密性" }