aie-europe-2026
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAI Engineer Europe 2026
2026年欧洲AI工程师大会
Conference data APIs, MCP server, and CLI for AI Engineer Europe 2026 (April 8-10, London).
面向2026年欧洲AI工程师大会(4月8日-10日,伦敦)的会议数据API、MCP服务器与CLI工具。
When to use this skill
适用场景
- Building apps or dashboards with conference data
- Querying speakers, talks, or schedule programmatically
- Connecting an AI agent to the conference MCP server
- Generating conference summaries, recommendations, or search features
- Looking up who's speaking, what talks are on which day/track, or session details
- 基于会议数据构建应用或仪表盘
- 通过编程方式查询演讲者、议题或日程信息
- 将AI Agent接入会议MCP服务器
- 生成会议摘要、推荐内容或搜索功能
- 查询演讲嘉宾信息、各日期/分会场的议题安排,以及会话详情
Endpoints
接口端点
Base URL:
https://ai.engineer| Endpoint | Format | Description |
|---|---|---|
| Plain text | Conference overview optimized for LLM consumption |
| Plain text | Full details — every talk, speaker bio, schedule |
| JSON | All sessions (talks + workshops) with titles, descriptions, speakers, times, rooms, tracks |
| JSON | All speakers with roles, companies, social links, photos, talks |
| JSON-RPC | MCP server — tool calls for querying conference data |
| JSON | All speakers with 128-dim Gemini Embedding 2 vectors |
| JSON | All sessions with 128-dim Gemini Embedding 2 vectors |
All endpoints are public, free, and CORS-enabled. Data is cached ().
s-maxage=3600, stale-while-revalidate=86400基础URL:
https://ai.engineer| 端点 | 格式 | 描述 |
|---|---|---|
| 纯文本 | 针对LLM消费优化的会议概览 |
| 纯文本 | 全量详情 — 所有议题、演讲者简介、日程 |
| JSON | 所有会话(议题+工作坊),包含标题、描述、演讲者、时间、会议室、分会场信息 |
| JSON | 所有演讲者,包含职位、公司、社交链接、照片、参与议题信息 |
| JSON-RPC | MCP服务器 — 用于查询会议数据的工具调用接口 |
| JSON | 所有演讲者的128维Gemini Embedding 2向量 |
| JSON | 所有会话的128维Gemini Embedding 2向量 |
所有端点均公开免费,且支持CORS。数据已缓存(缓存策略:)。
s-maxage=3600, stale-while-revalidate=86400Embeddings
Embeddings
Pre-computed Gemini Embedding 2 vectors for semantic search, clustering, and recommendations.
- Model:
gemini-embedding-2-preview - Dimensions: 128 (truncated from 3072 via Matryoshka Representation Learning)
- Task type:
RETRIEVAL_DOCUMENT
The embedding JSON files include full metadata (name, company, role, talks, etc.) alongside the 128-dim vector for each speaker/session.
预计算的Gemini Embedding 2向量,可用于语义搜索、聚类和推荐场景。
- 模型:
gemini-embedding-2-preview - 维度: 128(通过Matryoshka Representation Learning从3072维截断而来)
- 任务类型:
RETRIEVAL_DOCUMENT
Embedding的JSON文件包含完整元数据(姓名、公司、职位、参与议题等),以及对应每个演讲者/会话的128维向量。
Fetch embeddings (curl)
获取Embedding(curl)
bash
undefinedbash
undefinedSpeaker embeddings (128-dim Gemini Embedding 2, MRL)
演讲者Embedding(128维Gemini Embedding 2, MRL)
curl https://ai.engineer/europe/speakers-embeddings.json | jq '.speakers[:2]'
curl https://ai.engineer/europe/speakers-embeddings.json | jq '.speakers[:2]'
Session embeddings
会话Embedding
curl https://ai.engineer/europe/sessions-embeddings.json | jq '.sessions[:2]'
undefinedcurl https://ai.engineer/europe/sessions-embeddings.json | jq '.sessions[:2]'
undefinedJavaScript — cosine similarity search
JavaScript — 余弦相似度搜索
javascript
const res = await fetch('https://ai.engineer/europe/speakers-embeddings.json');
const { speakers } = await res.json();
// Cosine similarity
const dot = (a, b) => a.reduce((s, v, i) => s + v * b[i], 0);
const norm = (a) => Math.sqrt(dot(a, a));
const cosine = (a, b) => dot(a, b) / (norm(a) * norm(b));
// Compare against a query embedding (128-dim from Gemini)
const ranked = speakers
.map(s => ({ name: s.name, score: cosine(queryEmbedding, s.embedding) }))
.sort((a, b) => b.score - a.score)
.slice(0, 5);
console.log(ranked);javascript
const res = await fetch('https://ai.engineer/europe/speakers-embeddings.json');
const { speakers } = await res.json();
// 余弦相似度计算
const dot = (a, b) => a.reduce((s, v, i) => s + v * b[i], 0);
const norm = (a) => Math.sqrt(dot(a, a));
const cosine = (a, b) => dot(a, b) / (norm(a) * norm(b));
// 与查询Embedding对比(来自Gemini的128维向量)
const ranked = speakers
.map(s => ({ name: s.name, score: cosine(queryEmbedding, s.embedding) }))
.sort((a, b) => b.score - a.score)
.slice(0, 5);
console.log(ranked);Python — cosine similarity search
Python — 余弦相似度搜索
python
import json, urllib.request, numpy as np
data = json.loads(urllib.request.urlopen('https://ai.engineer/europe/speakers-embeddings.json').read())
speakers = data['speakers']
def cosine(a, b):
a, b = np.array(a), np.array(b)
return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))
ranked = sorted(speakers, key=lambda s: cosine(query_emb, s['embedding']), reverse=True)[:5]
for s in ranked:
print(s['name'], s.get('company', ''))python
import json, urllib.request, numpy as np
data = json.loads(urllib.request.urlopen('https://ai.engineer/europe/speakers-embeddings.json').read())
speakers = data['speakers']
def cosine(a, b):
a, b = np.array(a), np.array(b)
return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))
ranked = sorted(speakers, key=lambda s: cosine(query_emb, s['embedding']), reverse=True)[:5]
for s in ranked:
print(s['name'], s.get('company', ''))Generate your own query embedding (to search against pre-computed vectors)
生成自定义查询Embedding(用于匹配预计算向量)
bash
undefinedbash
undefinedUse the Gemini API with the same model + MRL dimensionality
使用相同模型和MRL维度调用Gemini API
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-2-preview:embedContent?key=$GEMINI_API_KEY"
-H 'Content-Type: application/json'
-d '{ "model": "models/gemini-embedding-2-preview", "content": { "parts": [{ "text": "autonomous coding agents" }] }, "taskType": "RETRIEVAL_QUERY", "outputDimensionality": 128 }'
-H 'Content-Type: application/json'
-d '{ "model": "models/gemini-embedding-2-preview", "content": { "parts": [{ "text": "autonomous coding agents" }] }, "taskType": "RETRIEVAL_QUERY", "outputDimensionality": 128 }'
undefinedcurl "https://generativelanguage.googleapis.com/v1beta/models/gemini-embedding-2-preview:embedContent?key=$GEMINI_API_KEY"
-H 'Content-Type: application/json'
-d '{ "model": "models/gemini-embedding-2-preview", "content": { "parts": [{ "text": "autonomous coding agents" }] }, "taskType": "RETRIEVAL_QUERY", "outputDimensionality": 128 }'
-H 'Content-Type: application/json'
-d '{ "model": "models/gemini-embedding-2-preview", "content": { "parts": [{ "text": "autonomous coding agents" }] }, "taskType": "RETRIEVAL_QUERY", "outputDimensionality": 128 }'
undefinedQuick start
快速开始
curl
curl
bash
undefinedbash
undefinedPlain text overview (good for piping to an LLM)
纯文本概览(适合传给LLM处理)
Full conference dump
全量会议数据
Structured JSON
结构化JSON数据
curl https://ai.engineer/europe/sessions.json | jq '.sessions[:3]'
curl https://ai.engineer/europe/speakers.json | jq '.speakers[:3]'
undefinedcurl https://ai.engineer/europe/sessions.json | jq '.sessions[:3]'
curl https://ai.engineer/europe/speakers.json | jq '.speakers[:3]'
undefinedCLI (@aidotengineer/aie
)
@aidotengineer/aieCLI (@aidotengineer/aie
)
@aidotengineer/aieNo install needed — runs via npx:
bash
npx @aidotengineer/aie --list # List all conferences
npx @aidotengineer/aie europe # Europe conference info
npx @aidotengineer/aie eu speakers # All speakers
npx @aidotengineer/aie eu speakers --search "Anthropic"
npx @aidotengineer/aie eu sessions --day "April 9"
npx @aidotengineer/aie eu sessions --type workshop
npx @aidotengineer/aie eu search "agents" # Full-text search
npx @aidotengineer/aie eu speakers --json # Raw JSON output
npx @aidotengineer/aie eu mcp # MCP connection info无需安装,可通过npx直接运行:
bash
npx @aidotengineer/aie --list # 列出所有会议
npx @aidotengineer/aie europe # 欧洲大会信息
npx @aidotengineer/aie eu speakers # 所有演讲者
npx @aidotengineer/aie eu speakers --search "Anthropic"
npx @aidotengineer/aie eu sessions --day "April 9"
npx @aidotengineer/aie eu sessions --type workshop
npx @aidotengineer/aie eu search "agents" # 全文搜索
npx @aidotengineer/aie eu speakers --json # 原始JSON输出
npx @aidotengineer/aie eu mcp # MCP连接信息JavaScript / TypeScript
JavaScript / TypeScript
typescript
const res = await fetch('https://ai.engineer/europe/speakers.json');
const { speakers, totalSpeakers } = await res.json();
// Find speakers from Anthropic
const anthropic = speakers.filter(s =>
s.company?.toLowerCase().includes('anthropic')
);
console.log(`${anthropic.length} speakers from Anthropic`);
// Get all keynotes
const data = await fetch('https://ai.engineer/europe/sessions.json').then(r => r.json());
const keynotes = data.sessions.filter(t => t.type === 'keynote');
console.log(keynotes.map(k => `${k.time}: ${k.title} — ${k.speakers.join(', ')}`));typescript
const res = await fetch('https://ai.engineer/europe/speakers.json');
const { speakers, totalSpeakers } = await res.json();
// 筛选来自Anthropic的演讲者
const anthropic = speakers.filter(s =>
s.company?.toLowerCase().includes('anthropic')
);
console.log(`${anthropic.length} speakers from Anthropic`);
// 获取所有主旨演讲
const data = await fetch('https://ai.engineer/europe/sessions.json').then(r => r.json());
const keynotes = data.sessions.filter(t => t.type === 'keynote');
console.log(keynotes.map(k => `${k.time}: ${k.title} — ${k.speakers.join(', ')}`));Python
Python
python
import requestspython
import requests--- Fetch and explore sessions ---
--- 获取并浏览会话信息 ---
data = requests.get('https://ai.engineer/europe/sessions.json').json()
print(f"{data['totalSessions']} sessions across {data['dates']}")
data = requests.get('https://ai.engineer/europe/sessions.json').json()
print(f"{data['totalSessions']} sessions across {data['dates']}")
Day 2 sessions
第2天的会话
day2 = [s for s in data['sessions'] if s.get('day') == 'April 9']
for s in day2:
speakers = ', '.join(s.get('speakers', []))
print(f"{s.get('time', '?')}: {s.get('title', 'TBA')} — {speakers}")
day2 = [s for s in data['sessions'] if s.get('day') == 'April 9']
for s in day2:
speakers = ', '.join(s.get('speakers', []))
print(f"{s.get('time', '?')}: {s.get('title', 'TBA')} — {speakers}")
Sessions about agents
与Agent相关的会话
agent_sessions = [s for s in data['sessions']
if 'agent' in (s.get('title') or '').lower()
or s.get('track', '').lower() == 'ai agents']
print(f"\n{len(agent_sessions)} sessions about agents")
agent_sessions = [s for s in data['sessions']
if 'agent' in (s.get('title') or '').lower()
or s.get('track', '').lower() == 'ai agents']
print(f"\n{len(agent_sessions)} sessions about agents")
--- Fetch speakers ---
--- 获取演讲者信息 ---
sp = requests.get('https://ai.engineer/europe/speakers.json').json()
sp = requests.get('https://ai.engineer/europe/speakers.json').json()
Speakers with GitHub profiles
有GitHub主页的演讲者
with_github = [s for s in sp['speakers'] if s.get('github')]
print(f"\n{len(with_github)} speakers with GitHub profiles")
for s in with_github[:5]:
print(f" {s['name']} ({s.get('company', '?')}): {s['github']}")
with_github = [s for s in sp['speakers'] if s.get('github')]
print(f"\n{len(with_github)} speakers with GitHub profiles")
for s in with_github[:5]:
print(f" {s['name']} ({s.get('company', '?')}): {s['github']}")
Group speakers by company
按公司分组统计演讲者数量
from collections import Counter
companies = Counter(s.get('company') for s in sp['speakers'] if s.get('company'))
for company, count in companies.most_common(10):
print(f" {company}: {count} speakers")
undefinedfrom collections import Counter
companies = Counter(s.get('company') for s in sp['speakers'] if s.get('company'))
for company, count in companies.most_common(10):
print(f" {company}: {count} speakers")
undefinedPython — MCP tool call
Python — MCP工具调用
python
import requests
import json
MCP_URL = 'https://ai.engineer/europe/mcp'
def mcp_call(tool_name: str, arguments: dict = {}) -> dict:
"""Call an MCP tool and return the parsed result."""
resp = requests.post(MCP_URL, json={
'jsonrpc': '2.0',
'id': 1,
'method': 'tools/call',
'params': {'name': tool_name, 'arguments': arguments}
}, headers={'Content-Type': 'application/json', 'Accept': 'application/json'})
result = resp.json()['result']['content'][0]['text']
return json.loads(result)python
import requests
import json
MCP_URL = 'https://ai.engineer/europe/mcp'
def mcp_call(tool_name: str, arguments: dict = {}) -> dict:
"""调用MCP工具并返回解析后的结果"""
resp = requests.post(MCP_URL, json={
'jsonrpc': '2.0',
'id': 1,
'method': 'tools/call',
'params': {'name': tool_name, 'arguments': arguments}
}, headers={'Content-Type': 'application/json', 'Accept': 'application/json'})
result = resp.json()['result']['content'][0]['text']
return json.loads(result)Get conference info
获取会议信息
info = mcp_call('get_conference_info')
print(f"{info['name']} — {info['dates']} — {info['location']}")
info = mcp_call('get_conference_info')
print(f"{info['name']} — {info['dates']} — {info['location']}")
Search speakers
搜索演讲者
speakers = mcp_call('list_speakers', {'search': 'Google'})
for s in speakers['speakers']:
print(f" {s['name']}: {s.get('role', '')} @ {s.get('company', '')}")
speakers = mcp_call('list_speakers', {'search': 'Google'})
for s in speakers['speakers']:
print(f" {s['name']}: {s.get('role', '')} @ {s.get('company', '')}")
Get Day 2 keynotes
获取第2天的主旨演讲
keynotes = mcp_call('list_sessions', {'day': 'April 9', 'type': 'keynote'})
for t in keynotes['sessions']:
print(f" {t['time']}: {t['title']} — {', '.join(t['speakers'])}")
keynotes = mcp_call('list_sessions', {'day': 'April 9', 'type': 'keynote'})
for t in keynotes['sessions']:
print(f" {t['time']}: {t['title']} — {', '.join(t['speakers'])}")
Get schedule for one day
获取单日日程
schedule = mcp_call('get_schedule', {'day': 'April 10'})
for session in schedule['days'][0]['sessions']:
print(f" {session.get('time', '?')}: {session.get('title', 'TBA')}")
undefinedschedule = mcp_call('get_schedule', {'day': 'April 10'})
for session in schedule['days'][0]['sessions']:
print(f" {session.get('time', '?')}: {session.get('title', 'TBA')}")
undefinedMCP server
MCP服务器
The MCP server at implements JSON-RPC 2.0 over Streamable HTTP.
https://ai.engineer/europe/mcp部署在的MCP服务器基于可流式HTTP实现了JSON-RPC 2.0协议。
https://ai.engineer/europe/mcpClient config
客户端配置
Add to your Claude Desktop, Cursor, Windsurf, or any MCP client config:
json
{
"mcpServers": {
"aie-europe": {
"url": "https://ai.engineer/europe/mcp"
}
}
}添加到你的Claude Desktop、Cursor、Windsurf或任意MCP客户端配置中:
json
{
"mcpServers": {
"aie-europe": {
"url": "https://ai.engineer/europe/mcp"
}
}
}Available tools
可用工具
| Tool | Description | Optional params |
|---|---|---|
| Dates, venue, links, metadata | — |
| Speakers with roles, companies, socials, sessions | |
| Sessions with descriptions, times, rooms, tracks | |
| Full schedule organized by day | |
| 工具 | 描述 | 可选参数 |
|---|---|---|
| 日期、场地、链接、元数据 | — |
| 演讲者信息,包含职位、公司、社交账号、参与会话 | |
| 会话信息,包含描述、时间、会议室、分会场 | |
| 按日期整理的完整日程 | |
Example tool call (curl)
工具调用示例(curl)
bash
curl -X POST https://ai.engineer/europe/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_speakers",
"arguments": { "search": "Anthropic" }
}
}'bash
curl -X POST https://ai.engineer/europe/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_speakers",
"arguments": { "search": "Anthropic" }
}
}'Example tool call (Python)
工具调用示例(Python)
python
import requests, json
resp = requests.post('https://ai.engineer/europe/mcp', json={
'jsonrpc': '2.0', 'id': 1,
'method': 'tools/call',
'params': {'name': 'list_sessions', 'arguments': {'track': 'MCP'}}
}, headers={'Content-Type': 'application/json', 'Accept': 'application/json'})
result = json.loads(resp.json()['result']['content'][0]['text'])
for s in result['sessions']:
print(f"{s['title']} — {', '.join(s['speakers'])}")python
import requests, json
resp = requests.post('https://ai.engineer/europe/mcp', json={
'jsonrpc': '2.0', 'id': 1,
'method': 'tools/call',
'params': {'name': 'list_sessions', 'arguments': {'track': 'MCP'}}
}, headers={'Content-Type': 'application/json', 'Accept': 'application/json'})
result = json.loads(resp.json()['result']['content'][0]['text'])
for s in result['sessions']:
print(f"{s['title']} — {', '.join(s['speakers'])}")Initialize + discover tools
初始化 + 工具发现
bash
undefinedbash
undefinedInitialize session
初始化会话
curl -X POST https://ai.engineer/europe/mcp
-H "Content-Type: application/json"
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"my-client","version":"1.0.0"}}}'
-H "Content-Type: application/json"
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"my-client","version":"1.0.0"}}}'
curl -X POST https://ai.engineer/europe/mcp
-H "Content-Type: application/json"
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"my-client","version":"1.0.0"}}}'
-H "Content-Type: application/json"
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"my-client","version":"1.0.0"}}}'
List tools
列出所有工具
curl -X POST https://ai.engineer/europe/mcp
-H "Content-Type: application/json"
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
-H "Content-Type: application/json"
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
curl -X POST https://ai.engineer/europe/mcp
-H "Content-Type: application/json"
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
-H "Content-Type: application/json"
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
GET also returns server info + tool definitions
GET请求也会返回服务器信息和工具定义
curl https://ai.engineer/europe/mcp | jq .
See `references/MCP.md` for full tool schemas and response formats.curl https://ai.engineer/europe/mcp | jq .
完整的工具Schema和响应格式可查看`references/MCP.md`。Data model
数据模型
Talk
议题
typescript
type PublicTalk = {
title?: string;
description?: string;
day?: string; // "April 8" | "April 9" | "April 10"
time?: string; // "9:00-9:30am"
room?: string; // "Keynote" | "Abbey" | "Fleming" | "Moore" | "St. James" | "Westminster"
type?: string; // "keynote" | "talk" | "workshop" | "panel" | "break"
track?: string; // "AI Agents" | "Coding Agents" | "MCP" | "Open Source" | "GPUs & LLM Infrastructure" | ...
speakers: string[];
};typescript
type PublicTalk = {
title?: string;
description?: string;
day?: string; // "April 8" | "April 9" | "April 10"
time?: string; // "9:00-9:30am"
room?: string; // "Keynote" | "Abbey" | "Fleming" | "Moore" | "St. James" | "Westminster"
type?: string; // "keynote" | "talk" | "workshop" | "panel" | "break"
track?: string; // "AI Agents" | "Coding Agents" | "MCP" | "Open Source" | "GPUs & LLM Infrastructure" | ...
speakers: string[];
};Speaker
演讲者
typescript
type PublicSpeaker = {
name: string;
role?: string;
company?: string;
companyDescription?: string;
twitter?: string; // Full URL: "https://x.com/handle"
linkedin?: string; // Full URL
github?: string; // Full URL
website?: string;
photoUrl?: string; // "https://ai.engineer/europe-speakers/name.jpg"
sessions: PublicTalk[];
};See for full response envelope structures and real API response examples.
references/SCHEMAS.mdSee for 4 complete TS + Python recipes: topic index, semantic embed/cluster/retrieve, multi-track day planner, and speaker social graph.
references/EXAMPLES.mdtypescript
type PublicSpeaker = {
name: string;
role?: string;
company?: string;
companyDescription?: string;
twitter?: string; // 完整URL: "https://x.com/handle"
linkedin?: string; // 完整URL
github?: string; // 完整URL
website?: string;
photoUrl?: string; // "https://ai.engineer/europe-speakers/name.jpg"
sessions: PublicTalk[];
};完整的响应封装结构和真实API响应示例可查看。
references/SCHEMAS.md4个完整的TS+Python实践案例(主题索引、语义嵌入/聚类/检索、多分会场日程规划、演讲者社交图谱)可查看。
references/EXAMPLES.mdEdge cases
边界情况
- Some sessions have empty — fall back to title + speakers
description - array can be empty for break/logistics sessions
speakers - field may be missing for some sessions — treat as "talk"
type - Speaker photos are served from — some speakers may not have a photo
ai.engineer/europe-speakers/ - Social links (twitter, linkedin, github) are full URLs when present, when absent
undefined - The field only exists on Day 2-3 multi-track sessions; Day 1 workshops don't have tracks
track
- 部分会话的字段为空,可降级使用标题+演讲者信息展示
description - 休息/后勤类会话的数组可能为空
speakers - 部分会话可能缺失字段,可默认视为"talk"
type - 演讲者照片托管在下,部分演讲者可能没有照片
ai.engineer/europe-speakers/ - 社交链接(twitter、linkedin、github)存在时为完整URL,不存在时为
undefined - 字段仅存在于第2-3天的多分会场会话中,第1天的工作坊没有分会场字段
track
Sensitive fields (never exposed)
敏感字段(永不对外暴露)
These fields exist in the source data but are stripped from all public endpoints:
- — speaker email addresses
contact.email - — internal organizer notes
notes - — internal Accelevents IDs
acceleventsSpeakerId - — internal session identifiers
sessionId - — whether speaker was invited vs CFP
invited - — call for papers submissions and review status
cfpData
这些字段存在于源数据中,但所有公开端点都会进行剔除:
- — 演讲者邮箱地址
contact.email - — 组织者内部备注
notes - — 内部Accelevents ID
acceleventsSpeakerId - — 内部会话标识符
sessionId - — 演讲者是受邀还是通过CFP入选
invited - — CFP提交和评审状态信息
cfpData
Links
相关链接
- Website: ai.engineer/europe
- Source code: github.com/aiDotEngineer/aiecode2025
- CLI on npm: @aidotengineer/aie
- Twitter: @aiDotEngineer
- Gemini Embedding 2 docs: ai.google.dev/gemini-api/docs/models/gemini-embedding-2-preview
- 官方网站: ai.engineer/europe
- 源代码: github.com/aiDotEngineer/aiecode2025
- npm上的CLI: @aidotengineer/aie
- Twitter: @aiDotEngineer
- Gemini Embedding 2文档: ai.google.dev/gemini-api/docs/models/gemini-embedding-2-preview