mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-03-29 21:33:54 +00:00
feat: models
This commit is contained in:
parent
b4c7faa842
commit
981991d582
@ -228,8 +228,8 @@ export class OpenAICompatibleChatLanguageModel implements LanguageModelV2 {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// reasoning content (Copilot uses reasoning_text):
|
// reasoning content (Copilot uses reasoning_text, ToothFairyAI/DeepSeek use reasoning_content):
|
||||||
const reasoning = choice.message.reasoning_text
|
const reasoning = choice.message.reasoning_text || choice.message.reasoning_content
|
||||||
if (reasoning != null && reasoning.length > 0) {
|
if (reasoning != null && reasoning.length > 0) {
|
||||||
content.push({
|
content.push({
|
||||||
type: "reasoning",
|
type: "reasoning",
|
||||||
@ -456,8 +456,8 @@ export class OpenAICompatibleChatLanguageModel implements LanguageModelV2 {
|
|||||||
reasoningOpaque = delta.reasoning_opaque
|
reasoningOpaque = delta.reasoning_opaque
|
||||||
}
|
}
|
||||||
|
|
||||||
// enqueue reasoning before text deltas (Copilot uses reasoning_text):
|
// enqueue reasoning before text deltas (Copilot uses reasoning_text, ToothFairyAI/DeepSeek use reasoning_content):
|
||||||
const reasoningContent = delta.reasoning_text
|
const reasoningContent = delta.reasoning_text || delta.reasoning_content
|
||||||
if (reasoningContent) {
|
if (reasoningContent) {
|
||||||
if (!isActiveReasoning) {
|
if (!isActiveReasoning) {
|
||||||
controller.enqueue({
|
controller.enqueue({
|
||||||
@ -719,6 +719,8 @@ const OpenAICompatibleChatResponseSchema = z.object({
|
|||||||
message: z.object({
|
message: z.object({
|
||||||
role: z.literal("assistant").nullish(),
|
role: z.literal("assistant").nullish(),
|
||||||
content: z.string().nullish(),
|
content: z.string().nullish(),
|
||||||
|
// OpenAI-style reasoning content (ToothFairyAI, DeepSeek, etc.)
|
||||||
|
reasoning_content: z.string().nullish(),
|
||||||
// Copilot-specific reasoning fields
|
// Copilot-specific reasoning fields
|
||||||
reasoning_text: z.string().nullish(),
|
reasoning_text: z.string().nullish(),
|
||||||
reasoning_opaque: z.string().nullish(),
|
reasoning_opaque: z.string().nullish(),
|
||||||
@ -754,6 +756,8 @@ const createOpenAICompatibleChatChunkSchema = <ERROR_SCHEMA extends z.core.$ZodT
|
|||||||
.object({
|
.object({
|
||||||
role: z.enum(["assistant"]).nullish(),
|
role: z.enum(["assistant"]).nullish(),
|
||||||
content: z.string().nullish(),
|
content: z.string().nullish(),
|
||||||
|
// OpenAI-style reasoning content (ToothFairyAI, DeepSeek, etc.)
|
||||||
|
reasoning_content: z.string().nullish(),
|
||||||
// Copilot-specific reasoning fields
|
// Copilot-specific reasoning fields
|
||||||
reasoning_text: z.string().nullish(),
|
reasoning_text: z.string().nullish(),
|
||||||
reasoning_opaque: z.string().nullish(),
|
reasoning_opaque: z.string().nullish(),
|
||||||
|
|||||||
@ -466,6 +466,7 @@ export namespace ProviderTransform {
|
|||||||
case "venice-ai-sdk-provider":
|
case "venice-ai-sdk-provider":
|
||||||
// https://docs.venice.ai/overview/guides/reasoning-models#reasoning-effort
|
// https://docs.venice.ai/overview/guides/reasoning-models#reasoning-effort
|
||||||
case "@ai-sdk/openai-compatible":
|
case "@ai-sdk/openai-compatible":
|
||||||
|
case "@toothfairyai/sdk":
|
||||||
return Object.fromEntries(WIDELY_SUPPORTED_EFFORTS.map((effort) => [effort, { reasoningEffort: effort }]))
|
return Object.fromEntries(WIDELY_SUPPORTED_EFFORTS.map((effort) => [effort, { reasoningEffort: effort }]))
|
||||||
|
|
||||||
case "@ai-sdk/azure":
|
case "@ai-sdk/azure":
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user