如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Laminar 是一个专为 AI 智能体构建的开源可观测性平台。
请在此处查看完整文档 laminar.sh/docs。
开始使用的最快最简单方法是使用我们的托管平台 -> laminar.sh
Laminar 非常易于在本地自托管。如需快速开始,请克隆仓库并使用 docker compose 启动服务:
git clone https://github.com/lmnr-ai/lmnr
cd lmnr
docker compose up -d
这将启动一个轻量级但功能齐全的堆栈版本。适用于快速入门或轻量级使用。你可以在浏览器中通过 http://localhost:5667 访问 UI。
你还需要正确配置 SDK,包括 baseUrl 和正确的端口。请参阅自托管指南。
baseUrl对于生产环境,我们建议使用我们的托管平台或运行 docker compose -f docker-compose-full.yml up -d。
docker compose -f docker-compose-full.yml up -d
前端 AI 功能(trace 对话、AI 生成 SQL)和服务器端 AI 工作器需要 LLM 提供商。在仓库根目录的 .env 文件中配置一个。
.env选择以下任一提供商设置。LLM_MODEL_SMALL|MEDIUM|LARGE 是可选的 — 未设置时使用每个提供商的默认值。LLM_DEFAULT_HEADERS_JSON 对于需要静态头的任何提供商或网关是可选的。
LLM_MODEL_SMALL|MEDIUM|LARGE``LLM_DEFAULT_HEADERS_JSON
# 对于需要静态头的任何提供商/网关是可选的
# LLM_DEFAULT_HEADERS_JSON='{"X-Gateway-Tenant":"tenant"}'
# 选项 A: Gemini
LLM_PROVIDER=gemini
LLM_API_KEY=your_gemini_key
# 选项 B: OpenAI(或任何 OpenAI 兼容网关,如 LiteLLM、OpenRouter、vLLM)
LLM_PROVIDER=openai
# LLM_BASE_URL=http://localhost:4000 # 可选,用于 OpenAI 兼容网关
LLM_API_KEY=your_openai_key
# 选项 C: AWS Bedrock (Anthropic Claude)。使用 AWS 凭证而非 LLM_API_KEY。
LLM_PROVIDER=bedrock
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_REGION=us-east-1
默认情况下,Laminar 使用 public 模式。要指定不同的模式(例如,在共享 Postgres 实例中与其他服务一起部署时),请为前端和 app-server 设置相同的值:
public
POSTGRES_SCHEMA=laminar
# 如果模式已预配置或数据库角色缺少 CREATE 权限,设置为 false。
# POSTGRES_CREATE_SCHEMA=true
该模式作为连接 search_path 应用,因此所有表、外键和迁移都针对它。当设置非 public 模式时,前端还会在该模式(.__drizzle_migrations)中跟踪迁移,而不是共享的 drizzle 模式。请注意,在同一数据库中与另一个 Drizzle 管理的服务一起运行 Laminar 可能仍需要手动干预,因为 Drizzle 的迁移日志是按模式版本化的。
search_path`` .__drizzle_migrations``drizzle
自托管部署会收集***使用遥测数据。要选择退出,请在 .env 中设置 LAMINAR_TELEMETRY_DISABLED=true。
LAMINAR_TELEMETRY_DISABLED=true``.env
要在本地运行和构建 Laminar,或了解更多关于 docker compose 文件的信息,请遵循《贡献指南》中的说明。
首先,创建项目并生成项目 API 密钥。然后:
npm add @lmnr-ai/lmnr
这将安装 Laminar TS SDK 和所有 instrumentation 包(OpenAI、、 ...)
要开始追踪 LLM 调用,只需添加:
import { Laminar } from '@lmnr-ai/lmnr';
Laminar.initialize({ projectApiKey: process.env.LMNR_PROJECT_API_KEY });
要追踪函数的输入/输出,请使用 observe 包装器。
observe
import { OpenAI } from 'openai';
import { observe } from '@lmnr-ai/lmnr';
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const poemWriter = observe({name: 'poemWriter'}, async (topic) => {
const response = await client.chat.completions.create({
model: "gpt-4o-mini",
messages: [{ role: "user", content: `write a poem about ${topic}` }],
});
return response.choices[0].message.content;
});
await poemWriter();
首先,创建项目并生成项目 API 密钥。然后:
pip install --upgrade 'lmnr[all]'
这将安装 Laminar Python SDK 和所有 instrumentation 包。请在此处查看所有工具列表
要开始追踪 LLM 调用,只需添加:
from lmnr import Laminar
Laminar.initialize(project_api_key=" ")
要追踪函数的输入/输出,请使用 @observe() 装饰器。
@observe()
import os
from openai import OpenAI
from lmnr import observe, Laminar
Laminar.initialize(project_api_key=" ")
client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
@observe() # 为所有要追踪的函数添加注解
def poem_writer(topic):
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "user", "content": f"write a poem about {topic}"},
],
)
poem = response.choices[0].message.content
return poem
Laminar 是一个专为 AI 智能体构建的开源可观测性平台。
在此查看完整文档 laminar.sh/docs。
开始使用的最快最简单方法是使用我们的托管平台 -> laminar.sh
Laminar 非常容易在本地自托管。如需快速开始,请克隆仓库并使用 docker compose 启动服务:
git clone https://github.com/lmnr-ai/lmnr
cd lmnr
docker compose up -d
这将启动一个轻量级但功能齐全的堆栈版本。适用于快速入门或轻量级使用。您可以在浏览器中通过 http://localhost:5667 访问 UI。
您还需要正确配置 SDK,设置 baseUrl 和正确的端口。请参阅 自托管指南。
对于生产环境,我们建议使用我们的 托管平台 或 docker compose -f docker-compose-full.yml up -d。
前端 AI 功能(追踪对话、AI 辅助 SQL)和服务器端 AI 工作器需要 LLM 提供商。在仓库根目录的 .env 文件中配置一个。
选择以下提供商设置之一。LLM_MODEL_SMALL|MEDIUM|LARGE 是可选的 — 未设置时使用每个提供商的默认值。LLM_DEFAULT_HEADERS_JSON 对于需要静态头的任何提供商或网关是可选的。
# 对于需要静态头的任何提供商/网关是可选的
# LLM_DEFAULT_HEADERS_JSON='{"X-Gateway-Tenant":"tenant"}'
# 选项 A: Gemini
LLM_PROVIDER=gemini
LLM_API_KEY=your_gemini_key
# 选项 B: OpenAI(或任何 OpenAI 兼容网关,如 LiteLLM、OpenRouter、vLLM)
LLM_PROVIDER=openai
# LLM_BASE_URL=http://localhost:4000 # 可选,用于 OpenAI 兼容网关
LLM_API_KEY=your_openai_key
# 选项 C: AWS Bedrock(Anthropic Claude)。使用 AWS 凭证而非 LLM_API_KEY。
LLM_PROVIDER=bedrock
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_REGION=us-east-1
默认情况下,Laminar 使用 public 模式。要使用不同的模式(例如,在共享 Postgres 实例中与其他服务一起部署时),请为前端和应用服务器设置相同的值:
POSTGRES_SCHEMA=laminar
# 如果模式已预配置或数据库角色缺少 CREATE 权限,设置为 false。
# POSTGRES_CREATE_SCHEMA=true
该模式作为连接的 search_path 应用,因此所有表、外键和迁移都以它为目标。当设置非 public 模式时,前端也会在该模式内(.__drizzle_migrations)跟踪迁移,而不是共享的 drizzle 模式。请注意,在同一数据库中与另一个 Drizzle 管理的服务一起运行 Laminar 可能仍需要手动干预,因为 Drizzle 的迁移日志是按模式版本化的。
自托管部署会收集***使用遥测数据。要选择退出,请在 .env 中设置 LAMINAR_TELEMETRY_DISABLED=true。
要在本地运行和构建 Laminar,或了解更多关于 docker compose 文件的信息,请遵循 贡献指南。
首先,创建项目 并生成项目 API 密钥。然后,
npm add @lmnr-ai/lmnr
它将安装 Laminar TypeScript SDK 和所有 instrumentation 包(OpenAI、、 等)
要开始追踪 LLM 调用,只需添加
import { Laminar } from '@lmnr-ai/lmnr';
Laminar.initialize({ projectApiKey: process.env.LMNR_PROJECT_API_KEY });
要追踪函数的输入/输出,请使用 observe 包装器。
import { OpenAI } from 'openai';
import { observe } from '@lmnr-ai/lmnr';
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const poemWriter = observe({name: 'poemWriter'}, async (topic) => {
const response = await client.chat.completions.create({
model: "gpt-4o-mini",
messages: [{ role: "user", content: `write a poem about ${topic}` }],
});
return response.choices[0].message.content;
});
await poemWriter();
首先,创建项目 并生成项目 API 密钥。然后,
pip install --upgrade 'lmnr[all]'
它将安装 Laminar Python SDK 和所有 instrumentation 包。查看所有工具列表 此处
要开始追踪 LLM 调用,只需添加
from lmnr import Laminar
Laminar.initialize(project_api_key=" ")
要追踪函数的输入/输出,请使用 @observe() 装饰器。
import os
from openai import OpenAI
from lmnr import observe, Laminar
Laminar.initialize(project_api_key=" ")
client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
@observe() # 为所有要追踪的函数添加注解
def poem_writer(topic):
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "user", "content": f"write a poem about {topic}"},
],
)
poem = response.choices[0].message.content
return poem
if __name__ == "__main__":
print(poem_writer(topic="laminar flow"))
要了解更多关于代码 instrumentation 的信息,请查看我们的客户端库:
来自真实用户的反馈,见证轩辕镜像的优质服务