What's Changed
- feat(claude): support disable parallel tool use by @meguminnnnnnnnn in #359
- feat: support loader common options by @meguminnnnnnnnn in #361
- feat(model_ark): support ContextAPI session cache by @mrh997 in #354
- feat: add ollama embedding support by @arcsinw in #353
- feat(tool): add searxng search tool by @LoopOuroboros in #346
- feat: upgrade ollama & support thinking by @meguminnnnnnnnn in #362
- feat(acl_openai): add WithRequestBodySetter and WithExtraHeader model option by @mrh997 in #360
- feat(ollama_embedding): upgrade ollama version by @meguminnnnnnnnn in #363
- feat(acl_openai): populate assistant if role field is empty in messag… by @meguminnnnnnnnn in #365
- feat: upgrade openai by @meguminnnnnnnnn in #366
- fix(indexer): correct typo 'CONSINE' to 'COSINE' in metric type definition by @noovertime7 in #367
- feat(model_ark): skip setting tools when contextID has been set by @mrh997 in #368
- fix(model_ark): WithTools option support empty tools by @mrh997 in #371
- feat(acl_openai): sort the required fields in the openapi3 schema in … by @mrh997 in #374
- feat(acl_openai): support MaxCompletionTokens by @meguminnnnnnnnn in #369
- fix(acl_openai): upgrade eino to v0.3.55 and set ReasoningContent by @mrh997 in #378
- feat(model): upgrade eino version to v0.4.0 for qwen and openai by @mrh997 in #379
- feat: register internal type by @meguminnnnnnnnn in #380
- fix(devops): support loader and transformer component debugging by @mrh997 in #381
- feat: support ark multi-modal text embedding by @N3kox in #383
- feat: downgrade openai go version to 1.18 by @meguminnnnnnnnn in #382
- feat(openai&qwen): downgrade go version to 1.18 by @meguminnnnnnnnn in #386
- chore(openai): alias exported symbols at eino-ext/libs by @hi-pender in #387
- cozeloop callback model resp finish_reason by @JqRrt in #397
- feat: add support for gemini embedding by @mhowto in #385
- feat(model): support promptTokenDetails by @mrh997 in #401
- fix(acl_openai): Generate support promptTokenDetails by @mrh997 in #402
- feat(model): deepseek, qwen and openai support PromptTokenDetails by @mrh997 in #403
- feat(claude): require at least 1 user msg by @shentongmartin in #399
- fix(model_qwen): compatible with both vLLM and Bailian thinking switch control by @mrh997 in #405
- feat(model_openai): support WithExtraFields and WithExtraHeader option by @mrh997 in #406
- feat(model_openai): support ReasoningEffort configuration by @mrh997 in #407
- feat(model_ollama): upgrade github.com/ollama/ollama to v0.11.4 by @encircles in #409
- feat(acl_openai): upgrade go-openai by @mrh997 in #404
- feat(model_openai): upgrade acl openai by @mrh997 in #413
- fix(model_ark): callbackInput miss tool info by @mrh997 in #414
- refactor(acl_openai): migration from openapiV3 to jsonschema by @mrh997 in #420
- refactor(acl_openai): upgrade eino to v0.4.7 by @mrh997 in #422
- refactor: migration from OpenAPIV3 to JSONSchema by @mrh997 in #423
- fix(model): miss CachedTokens in CallbackOutput by @mrh997 in #428
- fix(ark): ResponsesAPI stream finish_reason by @mrh997 in #434
- support trace to langsmith by @lp199444 in #373
- feat(ark): support service iter by @meguminnnnnnnnn in #438
- fix: typo by @meguminnnnnnnnn in #439
- feat(ark): support extract service tier in response by @meguminnnnnnnnn in #440
- fix: completion service tier by @meguminnnnnnnnn in #441
- feat: gemini add think option by @jesse-engineer in #451
- fix(acl_openai): ResponseFormat JSONSchema by @mrh997 in #454
- fix(model): upgrade acl/openai by @mrh997 in #455
- feat(claude): supports cache control by @mrh997 in #412
- feat(model): add max_completion_tokens for openai by @hi-pender in #457
- Fix(langfuse): langfuse callback panic issue by @enuoCM in #466
- feat: Support seedream4.0 as a multimodal output chatModel by @lvxinyu-1117 in #464
- refactor: use forked ollama repository instead of ollama/ollama by @zhuangjie1125 in #458
- fix(model_claude): missing thinking block reconstruction in claude by @jaxxjj in #388
- fix: correct typos for spell check by @hi-pender in #471
- optimize(model_ark): optimizing cache usage by @mrh997 in #469
- optimize(model_claude): optimize claude cache usage by @mrh997 in #474
- fix(ark_model): duplicate response ID in message extra when calling stream by @mrh997 in #478
- feat: Qdrant indexer and retriever by @Anush008 in #389
- feat: support multimodal input of the Qianfan model by @zhuangjie1125 in #472
- feat(ark): report thinking in callback by @meguminnnnnnnnn in #480
- fix(ark_model): remove tool if PreviousResponseID exists by @mrh997 in #479
- feat: support openai multimodal input & output by @zhuangjie1125 in #475
- feat: openai & qwen support multimodal by @zhuangjie1125 in #483
- fix(model_claude): tool call with empty arguments by @mrh997 in #482
- feat: Enable Gemini multimodal output and input conversion for Ark, Claude, Ollama, and Gemini by @lvxinyu-1117 in #467
- feat: support input_cached_tokens for cozeloop trace by @N3kox in #486
- refactor(gemini): Restructure examples into per-example directories by @lvxinyu-1117 in #489
- fix(model_ark): ark-response-caching in extra is compatible with string type by @mrh997 in #492
- feat(tool_mcp): add WithCustomHeaders option and CustomHeaders config by @mrh997 in #494
- feat: optimized the example structure and added readme for chatmodel by @zhuangjie1125 in #491
- refactor(ark): Migrate image generation output to use AssistantGenMul… by @lvxinyu-1117 in #481
- optimize(tool_commandline):RunCommand by @cn-kali-team in #490
- feat(model_ark): add InvalidateMessageCaches and GetCacheExpiration method by @mrh997 in #496
- fix(tool): use jsonschema_description tag by @mrh997 in #497
- fix(model_arkbot): registered the same type as arkbot by @mrh997 in #498
- fix(sandbox): use test -d to check directories in IsDirectory by @dipfocus in #502
- fix(model_ark): responsesapi support jsonschema response format by @mrh997 in #504
- fix(model_ark): genRequestAndOptions panic by @mrh997 in #505
- feat(model_ark): support call option WithReasoningEffort by @mrh997 in #487
- docs(model_ark): improve comments of SessionCacheConfig by @mrh997 in #510
- feat(parser): Replace docx parser to resolve license conflict by @lvxinyu-1117 in #499
- feat: support ToolChoice in model.CallbackInput (part_1) by @N3kox in #500
- fix(claude): toolcall index by @meguminnnnnnnnn in #515
- feat: support ToolChoice in model.CallbackInput (part_2) by @N3kox in #513
- fix(mcp_tool): configuring customHeader in config is ineffective. by @mrh997 in #507
- feat(openai): report APIError by @meguminnnnnnnnn in #521
- Fix/sandbox avoid duplicate workspace mount by @dipfocus in #503
- feat(model_gemini): deprecate ResponseSchema configuration by @mrh997 in #524
- fix(model_gemini): responseJSONSchema config is not effective by @mrh997 in #525
- feat(promptHub): Integrate the commercialized PromptHub by @caijialin0626 in #514
- fix(model_ark): stream reception was terminated prematurely when using caching by @mrh997 in #530
- feat: add gen_ai.system attribute to apmplus trace by @feng-95 in #539
- feat(jsonschema): upgrade cloudwego/eino to v0.6.0 by @mrh997 in #540
- feat: upgrade libs/acl/openai to v0.1.2 by @mrh997 in #542
New Contributors
- @arcsinw made their first contribution in #353
- @LoopOuroboros made their first contribution in #346
- @noovertime7 made their first contribution in #367
- @mhowto made their first contribution in #385
- @encircles made their first contribution in #409
- @lp199444 made their first contribution in #373
- @jesse-engineer made their first contribution in #451
- @enuoCM made their first contribution in #466
- @lvxinyu-1117 made their first contribution in #464
- @jaxxjj made their first contribution in #388
- @Anush008 made their first contribution in #389
- @cn-kali-team made their first contribution in #490
- @dipfocus made their first contribution in #502
- @caijialin0626 made their first contribution in #514
Full Changelog: callbacks/apmplus/v0.0.1...callbacks/apmplus/v0.0.2