北辰网站开发,怎么申请一个网站,互联网网站建设哪家好,网页浏览器证书失效怎么修复本文档将手把手教你如何使用 LangSmith 对 LLM#xff08;如 Gemini, DeepSeek, GPT#xff09;进行自动化评估和对比。 1. 注册与准备
1.1 注册账号
访问 LangSmith 官网。此处需要魔法使用 GitHub 或 Google 账号登录。注意#xff1a;LangSmith 分为 US (美国) 和 EU (…本文档将手把手教你如何使用LangSmith对 LLM如 Gemini, DeepSeek, GPT进行自动化评估和对比。1. 注册与准备1.1 注册账号访问 LangSmith 官网。此处需要魔法使用 GitHub 或 Google 账号登录。注意LangSmith 分为US (美国)和EU (欧洲)两个数据中心。注册时请留意你所在的区域或者由系统自动分配。1.2 获取 API Key登录后点击左下角的Settings (设置)图标。选择API Keys选项卡。点击Create API Key。给 Key 起个名字如 “Test Key”然后复制保存只显示一次。在上图这里选 Run an Evaluation点击这里Generate API key 就会获得一个key1.3 确认 Endpoint (关键步骤)如果你的账号被分配到了EU (欧洲)节点URL 是eu.smith.langchain.com你必须显式配置 Endpoint否则会报403 Forbidden。US 节点默认https://api.smith.langchain.comEU 节点https://eu.api.smith.langchain.com设置环境变量ANGCHAIN_ENDPOINThttps://eu.api.smith.langchain.comLANGCHAIN_API_KEYlsvxxxxxxxxxxxxxxxxxxxx2. 环境配置2.1 安装依赖你需要安装langsmith和langchain相关库。pipinstalllangsmith langchain langchain-openai2.2 配置环境变量 (.env)在项目根目录创建.env文件填入以下内容# 开启 Tracing (可选但推荐) LANGCHAIN_TRACING_V2true # 你的 API Key LANGCHAIN_API_KEYls__your_api_key_here # 如果你是 EU 账号必须加这一行US 账号可忽略 LANGCHAIN_ENDPOINThttps://eu.api.smith.langchain.com # 你的模型 Key (用于调用模型) GEMINI_API_KEYAIza... DEEPSEEK_API_KEYsk-...3. 实战代码模型对比评估我们将编写一个脚本对比Gemini和DeepSeek在回答同一组问题时的表现。完整代码 (compare_model.py)importosfromlangsmithimportClient,evaluatefromsrc.llm.gemini_chat_modelimportget_gemini_llmfromsrc.llm.deepseek_chat_modelimportget_deepseek_llm# 1. 初始化客户端 clientClient()# 2. 准备数据集 (Dataset) # 数据集名称dataset_nameAI_Interview_Questions# 检查数据集是否存在不存在则创建ifnotclient.has_dataset(dataset_namedataset_name):print(f创建新数据集:{dataset_name})datasetclient.create_dataset(dataset_namedataset_name,description用于测试模型的基础问答能力)# 写入测试用例 (Inputs)# 可以在这里添加标准答案 (Outputs) 用于自动打分这里仅做生成测试client.create_examples(inputs[{prompt:什么是 RAG (Retrieval-Augmented Generation)},{prompt:用 Python 写一个快排算法。},{prompt:解释量子纠缠像我只有5岁一样。},],dataset_iddataset.id,)else:print(f使用现有数据集:{dataset_name})# 3. 准备模型 (Target Functions) # 初始化 LangChain 模型对象geminiget_gemini_llm()deepseekget_deepseek_llm()# 定义包装函数# LangSmith 会把数据集里的 inputs (如 {prompt: ...}) 传给这个函数defpredict_gemini(inputs:dict):# 调用模型responsegemini.invoke(inputs[prompt])# 返回结果key 可以是 output 或 answerreturn{output:response.content}defpredict_deepseek(inputs:dict):responsedeepseek.invoke(inputs[prompt])return{output:response.content}# 4. 运行评估 (Run Evaluation) print(开始评估 Gemini...)evaluate(predict_gemini,datadataset_name,experiment_prefixgemini-v1,# 实验名称前缀descriptionGemini Pro 基础测试)print(开始评估 DeepSeek...)evaluate(predict_deepseek,datadataset_name,experiment_prefixdeepseek-v1,descriptionDeepSeek Chat 基础测试)4. 代码深度解析Step 1:client.create_dataset作用在云端创建一个持久化的数据集。特性数据集只需创建一次。之后你可以反复使用它来测试不同的模型或者测试同一个模型的不同版本Prompt 迭代。当dataset 创建后 可以从langsmith也页面见到该datasetStep 2:client.create_examplesInputs模型的输入Prompt。Outputs (可选)标准答案Ground Truth。如果提供了 Output你可以使用“正确性评估器”来自动判断模型回答得对不对。Step 3:predict_wrapper(包装函数)evaluate函数需要一个可调用的对象函数。这个函数接收inputs字典必须返回一个字典通常包含output。你可以在这里进行 Prompt 组装、解析 JSON 等预处理/后处理逻辑。Step 4:evaluate(核心)这是 LangSmith 的魔法所在。它会拉取数据集中的每一条例子。并发调用你的predict函数。将 Input, Output, Latency (耗时), Token Usage 等信息全部上传到云端。生成一个唯一的Experiment (实验)链接。5. 查看结果运行脚本后控制台会输出一个 URL。点击进入 LangSmith 网页。你可以看到一个对比视图每一行是一个测试用例Prompt。每一列是一个实验Gemini vs DeepSeek。你可以直观地看到哪个模型回答得更准确哪个模型速度更快Latency哪个模型更啰嗦通过这种方式原本凭感觉的“模型好坏”变成了可视化、可量化的数据。