@delofarag/ai-utils 1.4.2 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/README.md +354 -216
  2. package/dist/chatbot.d.ts +33 -0
  3. package/dist/chatbot.d.ts.map +1 -0
  4. package/dist/chatbot.js +72 -0
  5. package/dist/chatbot.js.map +1 -0
  6. package/dist/heart/agent.d.ts +1 -1
  7. package/dist/heart/agent.d.ts.map +1 -1
  8. package/dist/heart/agent.js +3 -8
  9. package/dist/heart/agent.js.map +1 -1
  10. package/dist/heart/chain.d.ts +1 -1
  11. package/dist/heart/chain.d.ts.map +1 -1
  12. package/dist/heart/chain.js +4 -4
  13. package/dist/heart/chain.js.map +1 -1
  14. package/dist/heart/chatbot.d.ts +1 -1
  15. package/dist/heart/memorychain.d.ts +2 -2
  16. package/dist/heart/memorychain.js +6 -6
  17. package/dist/heart/memorychain.js.map +1 -1
  18. package/dist/heart/tools/zodios/ZodiosToolRegistry.d.ts +1 -1
  19. package/dist/heart/tools/zodios/ZodiosToolRegistry.d.ts.map +1 -1
  20. package/dist/helpers/chatbot.d.ts +33 -0
  21. package/dist/helpers/chatbot.d.ts.map +1 -0
  22. package/dist/helpers/chatbot.js +72 -0
  23. package/dist/helpers/chatbot.js.map +1 -0
  24. package/dist/helpers/helpers.d.ts +25 -0
  25. package/dist/helpers/helpers.d.ts.map +1 -0
  26. package/dist/helpers/helpers.js +43 -0
  27. package/dist/helpers/helpers.js.map +1 -0
  28. package/dist/helpers/llms.d.ts +92 -0
  29. package/dist/helpers/llms.d.ts.map +1 -0
  30. package/dist/helpers/llms.js +49 -0
  31. package/dist/helpers/llms.js.map +1 -0
  32. package/dist/helpers/memory.d.ts +91 -0
  33. package/dist/helpers/memory.d.ts.map +1 -0
  34. package/dist/helpers/memory.js +351 -0
  35. package/dist/helpers/memory.js.map +1 -0
  36. package/dist/helpers/rag.d.ts +42 -0
  37. package/dist/helpers/rag.d.ts.map +1 -0
  38. package/dist/helpers/rag.js +66 -0
  39. package/dist/helpers/rag.js.map +1 -0
  40. package/dist/helpers.d.ts +3 -3
  41. package/dist/index.d.ts +10 -10
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +10 -10
  44. package/dist/index.js.map +1 -1
  45. package/dist/magic-funcs/answerers/ask.d.ts +18 -2
  46. package/dist/magic-funcs/answerers/ask.d.ts.map +1 -1
  47. package/dist/magic-funcs/answerers/ask.js +20 -9
  48. package/dist/magic-funcs/answerers/ask.js.map +1 -1
  49. package/dist/magic-funcs/answerers/websearch.d.ts +15 -0
  50. package/dist/magic-funcs/answerers/websearch.d.ts.map +1 -1
  51. package/dist/magic-funcs/answerers/websearch.js +15 -0
  52. package/dist/magic-funcs/answerers/websearch.js.map +1 -1
  53. package/dist/magic-funcs/evaluators/classify.d.ts +20 -1
  54. package/dist/magic-funcs/evaluators/classify.d.ts.map +1 -1
  55. package/dist/magic-funcs/evaluators/classify.js +22 -3
  56. package/dist/magic-funcs/evaluators/classify.js.map +1 -1
  57. package/dist/magic-funcs/evaluators/decide.d.ts +18 -0
  58. package/dist/magic-funcs/evaluators/decide.d.ts.map +1 -1
  59. package/dist/magic-funcs/evaluators/decide.js +21 -3
  60. package/dist/magic-funcs/evaluators/decide.js.map +1 -1
  61. package/dist/magic-funcs/optimizers/promptify.d.ts +18 -0
  62. package/dist/magic-funcs/optimizers/promptify.d.ts.map +1 -1
  63. package/dist/magic-funcs/optimizers/promptify.js +21 -3
  64. package/dist/magic-funcs/optimizers/promptify.js.map +1 -1
  65. package/dist/magic-funcs/optimizers/ragify.d.ts +16 -0
  66. package/dist/magic-funcs/optimizers/ragify.d.ts.map +1 -1
  67. package/dist/magic-funcs/optimizers/ragify.js +19 -3
  68. package/dist/magic-funcs/optimizers/ragify.js.map +1 -1
  69. package/dist/magic-funcs/parsers/extract.d.ts +23 -0
  70. package/dist/magic-funcs/parsers/extract.d.ts.map +1 -1
  71. package/dist/magic-funcs/parsers/extract.js +26 -3
  72. package/dist/magic-funcs/parsers/extract.js.map +1 -1
  73. package/dist/magic-funcs/parsers/rewrite.d.ts +19 -0
  74. package/dist/magic-funcs/parsers/rewrite.d.ts.map +1 -1
  75. package/dist/magic-funcs/parsers/rewrite.js +22 -2
  76. package/dist/magic-funcs/parsers/rewrite.js.map +1 -1
  77. package/dist/magic-funcs/parsers/structure.d.ts +22 -0
  78. package/dist/magic-funcs/parsers/structure.d.ts.map +1 -1
  79. package/dist/magic-funcs/parsers/structure.js +27 -4
  80. package/dist/magic-funcs/parsers/structure.js.map +1 -1
  81. package/dist/magic-funcs/parsers/summarize.d.ts +20 -0
  82. package/dist/magic-funcs/parsers/summarize.d.ts.map +1 -1
  83. package/dist/magic-funcs/parsers/summarize.js +23 -3
  84. package/dist/magic-funcs/parsers/summarize.js.map +1 -1
  85. package/dist/memory.d.ts +1 -1
  86. package/dist/modalities/image-gen/generateImages.d.ts +56 -0
  87. package/dist/modalities/image-gen/generateImages.d.ts.map +1 -0
  88. package/dist/modalities/image-gen/generateImages.js +66 -0
  89. package/dist/modalities/image-gen/generateImages.js.map +1 -0
  90. package/dist/modalities/image-gen/helpers.d.ts +15 -0
  91. package/dist/modalities/image-gen/helpers.d.ts.map +1 -0
  92. package/dist/modalities/image-gen/helpers.js +17 -0
  93. package/dist/modalities/image-gen/helpers.js.map +1 -0
  94. package/dist/modalities/openrouter.d.ts +11 -0
  95. package/dist/modalities/openrouter.d.ts.map +1 -0
  96. package/dist/modalities/openrouter.js +39 -0
  97. package/dist/modalities/openrouter.js.map +1 -0
  98. package/dist/modalities/speech/VoiceEngine.d.ts +3 -0
  99. package/dist/modalities/speech/VoiceEngine.d.ts.map +1 -0
  100. package/dist/modalities/speech/VoiceEngine.js +3 -0
  101. package/dist/modalities/speech/VoiceEngine.js.map +1 -0
  102. package/dist/modalities/speech/stt/helpers.d.ts +3 -0
  103. package/dist/modalities/speech/stt/helpers.d.ts.map +1 -0
  104. package/dist/modalities/speech/stt/helpers.js +28 -0
  105. package/dist/modalities/speech/stt/helpers.js.map +1 -0
  106. package/dist/modalities/speech/stt/stt.d.ts +113 -0
  107. package/dist/modalities/speech/stt/stt.d.ts.map +1 -0
  108. package/dist/modalities/speech/stt/stt.js +177 -0
  109. package/dist/modalities/speech/stt/stt.js.map +1 -0
  110. package/dist/modalities/speech/tts/helpers.d.ts +12 -0
  111. package/dist/modalities/speech/tts/helpers.d.ts.map +1 -0
  112. package/dist/modalities/speech/tts/helpers.js +10 -0
  113. package/dist/modalities/speech/tts/helpers.js.map +1 -0
  114. package/dist/modalities/speech/tts/tts.d.ts +115 -0
  115. package/dist/modalities/speech/tts/tts.d.ts.map +1 -0
  116. package/dist/modalities/speech/tts/tts.js +142 -0
  117. package/dist/modalities/speech/tts/tts.js.map +1 -0
  118. package/dist/modalities/vision/helpers.d.ts +3 -0
  119. package/dist/modalities/vision/helpers.d.ts.map +1 -0
  120. package/dist/modalities/vision/helpers.js +7 -0
  121. package/dist/modalities/vision/helpers.js.map +1 -0
  122. package/dist/modalities/vision/vision.d.ts +55 -0
  123. package/dist/modalities/vision/vision.d.ts.map +1 -0
  124. package/dist/modalities/vision/vision.js +71 -0
  125. package/dist/modalities/vision/vision.js.map +1 -0
  126. package/package.json +7 -7
@@ -0,0 +1,42 @@
1
+ import { SupabaseVectorStore, OllamaEmbeddings, RecursiveCharacterTextSplitter, FaissStore, MemoryVectorStore, Document, Embeddings, ChatPromptTemplate, BaseChatModel, VectorStore } from "../imports";
2
+ import { SupabaseClient } from "@delofarag/supabase-utils";
3
+ interface SupabaseStoreConfig {
4
+ table_name?: string;
5
+ RPC_function?: string;
6
+ supabase?: SupabaseClient;
7
+ }
8
+ export declare const baseEmbeddings: OllamaEmbeddings;
9
+ export declare const baseSplitter: RecursiveCharacterTextSplitter;
10
+ export declare function turn_to_docs<T>(docs: T[]): Document<Record<string, any>>[];
11
+ /** nur für demos */
12
+ export declare function createRAMVectoreStore(data: string[], { embeddings }?: {
13
+ embeddings?: Embeddings;
14
+ }): Promise<MemoryVectorStore>;
15
+ export declare function createSupabaseVectoreStore(data: string[], { supabase, table_name, RPC_function, }?: SupabaseStoreConfig): Promise<SupabaseVectorStore>;
16
+ export declare function getSupabaseVectorStore({ supabase, table_name, RPC_function }?: SupabaseStoreConfig): SupabaseVectorStore;
17
+ export declare function createFaissStore(data: string[], { save_path, embeddings }?: {
18
+ save_path?: string;
19
+ embeddings?: Embeddings;
20
+ }): Promise<FaissStore>;
21
+ export declare function loadFaissStore({ path, embeddings }: {
22
+ path: string;
23
+ embeddings?: Embeddings;
24
+ }): Promise<FaissStore>;
25
+ export declare function createRAGChain({ vectorStore, llm, prompt, num_of_results_from_vdb }: {
26
+ vectorStore: VectorStore;
27
+ llm: BaseChatModel;
28
+ prompt?: ChatPromptTemplate;
29
+ num_of_results_from_vdb?: number;
30
+ }): Promise<import("@langchain/core/runnables").Runnable<{
31
+ input: string;
32
+ chat_history?: import("@langchain/core/messages").BaseMessage[] | string;
33
+ } & {
34
+ [key: string]: unknown;
35
+ }, {
36
+ context: Document[];
37
+ answer: string;
38
+ } & {
39
+ [key: string]: unknown;
40
+ }, import("@langchain/core/runnables").RunnableConfig<Record<string, any>>>>;
41
+ export {};
42
+ //# sourceMappingURL=rag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rag.d.ts","sourceRoot":"","sources":["../../src/helpers/rag.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,gBAAgB,EAChB,8BAA8B,EAC9B,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,UAAU,EAGV,kBAAkB,EAClB,aAAa,EACb,WAAW,EAEd,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG1D,UAAU,mBAAmB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,cAAc,CAAA;CAC5B;AAED,eAAO,MAAM,cAAc,kBAEzB,CAAA;AAEF,eAAO,MAAM,YAAY,gCAGvB,CAAA;AAEF,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAKzE;AAED,oBAAoB;AACpB,wBAAsB,qBAAqB,CACvC,IAAI,EAAE,MAAM,EAAE,EACd,EACI,UAA2B,EAC9B,GAAE;IAAE,UAAU,CAAC,EAAE,UAAU,CAAA;CAAO,8BAKtC;AAED,wBAAsB,0BAA0B,CAC5C,IAAI,EAAC,MAAM,EAAE,EACb,EACI,QAAmJ,EACnJ,UAAwB,EACxB,YAAgC,GACnC,GAAC,mBAAwB,gCAY7B;AAGD,wBAAgB,sBAAsB,CAAC,EACnC,QAAmJ,EACnJ,UAAwB,EACxB,YAAgC,EACnC,GAAE,mBAAwB,uBAM1B;AAED,wBAAsB,gBAAgB,CAClC,IAAI,EAAC,MAAM,EAAE,EACb,EACI,SAAuB,EACvB,UAA2B,EAC9B,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,UAAU,CAAA;CAAM,uBAWzD;AAED,wBAAsB,cAAc,CAAC,EAAC,IAAI,EAAE,UAA2B,EAAC,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,UAAU,CAAA;CAAC,uBAEhH;AAED,wBAAsB,cAAc,CAAC,EACjC,WAAW,EACX,GAAG,EACH,MAAM,EACN,uBAA2B,EAC9B,EAAE;IACC,WAAW,EAAE,WAAW,CAAC;IACzB,GAAG,EAAE,aAAa,CAAC;IACnB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACnC;;;;;;;;;;6EAiBA"}
@@ -0,0 +1,66 @@
1
+ import { SupabaseVectorStore, OllamaEmbeddings, RecursiveCharacterTextSplitter, FaissStore, MemoryVectorStore, Document, createStuffDocumentsChain, createRetrievalChain } from "../imports";
2
+ import { createClient } from "@supabase/supabase-js";
3
+ export const baseEmbeddings = new OllamaEmbeddings({
4
+ model: "nomic-embed-text"
5
+ });
6
+ export const baseSplitter = new RecursiveCharacterTextSplitter({
7
+ chunkSize: 500,
8
+ chunkOverlap: 50
9
+ });
10
+ export function turn_to_docs(docs) {
11
+ return docs.map(doc => new Document({
12
+ pageContent: typeof doc === "string" ? doc : JSON.stringify(doc, null, 2),
13
+ metadata: {}
14
+ }));
15
+ }
16
+ /** nur für demos */
17
+ export async function createRAMVectoreStore(data, { embeddings = baseEmbeddings } = {}) {
18
+ const docs = turn_to_docs(data);
19
+ const splitted_docs = await baseSplitter.splitDocuments(docs);
20
+ return await MemoryVectorStore.fromDocuments(splitted_docs, embeddings);
21
+ }
22
+ export async function createSupabaseVectoreStore(data, { supabase = createClient(process.env.NEXT_PUBLIC_SUPABASE_URL, process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY || process.env.SUPABASE_SERVICE_ROLE_KEY), table_name = "documents", RPC_function = "match_documents", } = {}) {
23
+ const docs = turn_to_docs(data);
24
+ const splitted_docs = await baseSplitter.splitDocuments(docs);
25
+ return await SupabaseVectorStore.fromDocuments(splitted_docs, baseEmbeddings, {
26
+ client: supabase,
27
+ tableName: table_name,
28
+ queryName: RPC_function
29
+ });
30
+ }
31
+ // Bestehenden Supabase Store holen (ohne neue Docs)
32
+ export function getSupabaseVectorStore({ supabase = createClient(process.env.NEXT_PUBLIC_SUPABASE_URL, process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY || process.env.SUPABASE_SERVICE_ROLE_KEY), table_name = "documents", RPC_function = "match_documents" } = {}) {
33
+ return new SupabaseVectorStore(baseEmbeddings, {
34
+ client: supabase,
35
+ tableName: table_name,
36
+ queryName: RPC_function
37
+ });
38
+ }
39
+ export async function createFaissStore(data, { save_path = "faiss_rag", embeddings = baseEmbeddings } = {}) {
40
+ const docs = turn_to_docs(data);
41
+ const splitted_docs = await baseSplitter.splitDocuments(docs);
42
+ const vectore_store = await FaissStore.fromDocuments(splitted_docs, embeddings);
43
+ if (save_path) {
44
+ await vectore_store.save(save_path);
45
+ }
46
+ return vectore_store;
47
+ }
48
+ export async function loadFaissStore({ path, embeddings = baseEmbeddings }) {
49
+ return await FaissStore.load(path, embeddings);
50
+ }
51
+ export async function createRAGChain({ vectorStore, llm, prompt, num_of_results_from_vdb = 4 }) {
52
+ const model = llm;
53
+ const retriever = vectorStore.asRetriever({ k: num_of_results_from_vdb });
54
+ // Document Chain: Kombiniert Docs in den Prompt
55
+ const documentChain = await createStuffDocumentsChain({
56
+ llm: model,
57
+ prompt: prompt
58
+ });
59
+ // Retrieval Chain: Verbindet Retriever mit Document Chain
60
+ const retrievalChain = await createRetrievalChain({
61
+ retriever: retriever,
62
+ combineDocsChain: documentChain
63
+ });
64
+ return retrievalChain;
65
+ }
66
+ //# sourceMappingURL=rag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rag.js","sourceRoot":"","sources":["../../src/helpers/rag.ts"],"names":[],"mappings":"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"}
package/dist/helpers.d.ts CHANGED
@@ -14,15 +14,15 @@ export type ChatGroqModel = AutoComplete<"groq/compound" | "groq/compound-mini"
14
14
  export type OpenRouterModel = AutoComplete<"anthropic/claude-haiku-4.5" | "anthropic/claude-opus-4" | "anthropic/claude-opus-4.1" | "anthropic/claude-opus-4.5" | "anthropic/claude-opus-4.6" | "anthropic/claude-opus-4.6-fast" | "anthropic/claude-opus-4.7" | "anthropic/claude-sonnet-4" | "anthropic/claude-sonnet-4.5" | "anthropic/claude-sonnet-4.6" | "arcee-ai/trinity-large-preview:free" | "arcee-ai/trinity-large-thinking" | "arcee-ai/trinity-mini" | "bytedance-seed/seed-2.0-lite" | "bytedance-seed/seed-2.0-mini" | "deepseek/deepseek-r1" | "deepseek/deepseek-r1-0528" | "deepseek/deepseek-r1-distill-llama-70b" | "deepseek/deepseek-r1-distill-qwen-32b" | "deepseek/deepseek-v3.1-terminus" | "deepseek/deepseek-v3.2" | "deepseek/deepseek-v3.2-exp" | "deepseek/deepseek-v3.2-speciale" | "google/gemini-2.5-flash" | "google/gemini-2.5-flash-image" | "google/gemini-2.5-flash-lite" | "google/gemini-2.5-flash-lite-preview-09-2025" | "google/gemini-2.5-pro" | "google/gemini-2.5-pro-preview" | "google/gemini-2.5-pro-preview-05-06" | "google/gemini-3-flash-preview" | "google/gemini-3-pro-image-preview" | "google/gemini-3.1-flash-image-preview" | "google/gemini-3.1-flash-lite-preview" | "google/gemini-3.1-pro-preview" | "google/gemini-3.1-pro-preview-customtools" | "google/gemma-4-26b-a4b-it" | "google/gemma-4-26b-a4b-it:free" | "google/gemma-4-31b-it" | "google/gemma-4-31b-it:free" | "inception/mercury-2" | "liquid/lfm-2-24b-a2b" | "liquid/lfm-2.5-1.2b-instruct:free" | "liquid/lfm-2.5-1.2b-thinking:free" | "meta-llama/llama-3.3-70b-instruct" | "meta-llama/llama-3.3-70b-instruct:free" | "meta-llama/llama-4-maverick" | "meta-llama/llama-4-scout" | "meta-llama/llama-guard-4-12b" | "minimax/minimax-m2" | "minimax/minimax-m2-her" | "minimax/minimax-m2.1" | "minimax/minimax-m2.5" | "minimax/minimax-m2.5:free" | "minimax/minimax-m2.7" | "mistralai/devstral-2512" | "mistralai/devstral-medium" | "mistralai/devstral-small" | "mistralai/mistral-large-2512" | "mistralai/mistral-small-2603" | "moonshotai/kimi-k2" | "moonshotai/kimi-k2-0905" | "moonshotai/kimi-k2-thinking" | "moonshotai/kimi-k2.5" | "nvidia/nemotron-3-nano-30b-a3b" | "nvidia/nemotron-3-nano-30b-a3b:free" | "nvidia/nemotron-3-super-120b-a12b" | "nvidia/nemotron-3-super-120b-a12b:free" | "openai/gpt-4.1" | "openai/gpt-4.1-mini" | "openai/gpt-4.1-nano" | "openai/gpt-5" | "openai/gpt-5-chat" | "openai/gpt-5-codex" | "openai/gpt-5-image" | "openai/gpt-5-image-mini" | "openai/gpt-5-mini" | "openai/gpt-5-nano" | "openai/gpt-5-pro" | "openai/gpt-5.1" | "openai/gpt-5.1-chat" | "openai/gpt-5.1-codex" | "openai/gpt-5.1-codex-max" | "openai/gpt-5.1-codex-mini" | "openai/gpt-5.2" | "openai/gpt-5.2-chat" | "openai/gpt-5.2-codex" | "openai/gpt-5.2-pro" | "openai/gpt-5.3-chat" | "openai/gpt-5.3-codex" | "openai/gpt-5.4" | "openai/gpt-5.4-mini" | "openai/gpt-5.4-nano" | "openai/gpt-5.4-pro" | "openai/gpt-oss-120b" | "openai/gpt-oss-120b:free" | "openai/gpt-oss-20b" | "openai/gpt-oss-20b:free" | "openai/gpt-oss-safeguard-20b" | "qwen/qwen3-coder" | "qwen/qwen3-coder-30b-a3b-instruct" | "qwen/qwen3-coder-flash" | "qwen/qwen3-coder-next" | "qwen/qwen3-coder-plus" | "qwen/qwen3-coder:free" | "qwen/qwen3-max" | "qwen/qwen3-max-thinking" | "qwen/qwen3.5-122b-a10b" | "qwen/qwen3.5-27b" | "qwen/qwen3.5-35b-a3b" | "qwen/qwen3.5-397b-a17b" | "qwen/qwen3.5-9b" | "qwen/qwen3.5-flash-02-23" | "qwen/qwen3.5-plus-02-15" | "qwen/qwen3.6-plus" | "rekaai/reka-edge" | "xiaomi/mimo-v2-flash" | "xiaomi/mimo-v2-omni" | "xiaomi/mimo-v2-pro" | "z-ai/glm-5" | "z-ai/glm-5-turbo" | "z-ai/glm-5.1" | "z-ai/glm-5v-turbo">;
15
15
  export type LocalModel = AutoComplete<"llama3.2:3b">;
16
16
  export type LLMConfig = {
17
- type: "groq";
17
+ provider: "chatgroq";
18
18
  model?: ChatGroqModel;
19
19
  apikey?: string;
20
20
  } | {
21
- type: "openrouter";
21
+ provider: "openrouter";
22
22
  model?: OpenRouterModel;
23
23
  apikey?: string;
24
24
  } | {
25
- type: "local";
25
+ provider: "local";
26
26
  model?: string;
27
27
  };
28
28
  /**
package/dist/index.d.ts CHANGED
@@ -1,26 +1,26 @@
1
- export * from "./helpers";
2
- export * from "./memory";
3
- export * from "./rag";
4
- export { DynamicStructuredTool } from "./imports";
1
+ export * from "./helpers/helpers";
2
+ export * from "./helpers/memory";
3
+ export * from "./helpers/rag";
4
+ export { DynamicStructuredTool, MemorySaver } from "./imports";
5
5
  export * from "./heart/agent";
6
6
  export * from "./heart/chain";
7
- export * from "./heart/chatbot";
8
7
  export * from "./heart/memorychain";
9
8
  export * from "./heart/tools/ToolRegistry";
10
9
  export { tavilySearchTool, TavilySearch } from "./heart/tools/Tavily";
11
10
  export * from "./heart/tools/RAGTool";
12
11
  export * from "./heart/tools/zodios/CombinedRegistry";
13
12
  export * from "./heart/tools/zodios/ZodiosToolRegistry";
14
- export * from "./magic-funcs/answerers/ask";
15
- export * from "./magic-funcs/answerers/websearch";
16
13
  export * from "./magic-funcs/evaluators/classify";
17
14
  export * from "./magic-funcs/evaluators/decide";
18
- export * from "./magic-funcs/optimizers/promptify";
19
- export * from "./magic-funcs/optimizers/ragify";
20
15
  export * from "./magic-funcs/parsers/extract";
21
16
  export * from "./magic-funcs/parsers/rewrite";
22
17
  export * from "./magic-funcs/parsers/structure";
23
18
  export * from "./magic-funcs/parsers/summarize";
24
19
  export * from "./heart/tools/Tavily";
25
- export * from "./session";
20
+ export * from "./helpers/chatbot";
21
+ export * from "./helpers/llms";
22
+ export * from "./modalities/speech/stt/stt";
23
+ export * from "./modalities/speech/tts/tts";
24
+ export * from "./modalities/vision/vision";
25
+ export * from "./modalities/image-gen/generateImages";
26
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACrE,cAAc,uBAAuB,CAAA;AACrC,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,oCAAoC,CAAA;AAClD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sBAAsB,CAAA;AACpC,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC9D,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACrE,cAAc,uBAAuB,CAAA;AACrC,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uCAAuC,CAAA"}
package/dist/index.js CHANGED
@@ -1,26 +1,26 @@
1
- export * from "./helpers";
2
- export * from "./memory";
3
- export * from "./rag";
4
- export { DynamicStructuredTool } from "./imports";
1
+ export * from "./helpers/helpers";
2
+ export * from "./helpers/memory";
3
+ export * from "./helpers/rag";
4
+ export { DynamicStructuredTool, MemorySaver } from "./imports";
5
5
  export * from "./heart/agent";
6
6
  export * from "./heart/chain";
7
- export * from "./heart/chatbot";
8
7
  export * from "./heart/memorychain";
9
8
  export * from "./heart/tools/ToolRegistry";
10
9
  export { tavilySearchTool, TavilySearch } from "./heart/tools/Tavily";
11
10
  export * from "./heart/tools/RAGTool";
12
11
  export * from "./heart/tools/zodios/CombinedRegistry";
13
12
  export * from "./heart/tools/zodios/ZodiosToolRegistry";
14
- export * from "./magic-funcs/answerers/ask";
15
- export * from "./magic-funcs/answerers/websearch";
16
13
  export * from "./magic-funcs/evaluators/classify";
17
14
  export * from "./magic-funcs/evaluators/decide";
18
- export * from "./magic-funcs/optimizers/promptify";
19
- export * from "./magic-funcs/optimizers/ragify";
20
15
  export * from "./magic-funcs/parsers/extract";
21
16
  export * from "./magic-funcs/parsers/rewrite";
22
17
  export * from "./magic-funcs/parsers/structure";
23
18
  export * from "./magic-funcs/parsers/summarize";
24
19
  export * from "./heart/tools/Tavily";
25
- export * from "./session";
20
+ export * from "./helpers/chatbot";
21
+ export * from "./helpers/llms";
22
+ export * from "./modalities/speech/stt/stt";
23
+ export * from "./modalities/speech/tts/tts";
24
+ export * from "./modalities/vision/vision";
25
+ export * from "./modalities/image-gen/generateImages";
26
26
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AACjD,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACrE,cAAc,uBAAuB,CAAA;AACrC,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,oCAAoC,CAAA;AAClD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sBAAsB,CAAA;AACpC,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC9D,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,4BAA4B,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACrE,cAAc,uBAAuB,CAAA;AACrC,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,mCAAmC,CAAA;AACjD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,iCAAiC,CAAA;AAC/C,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uCAAuC,CAAA"}
@@ -1,6 +1,22 @@
1
1
  import { BaseChatModel } from "../../imports";
2
- export declare function ask(input: string | {
3
- llm: BaseChatModel;
2
+ /**
3
+ * Stellt eine einfache Frage an ein LLM und gibt eine Textantwort zurueck.
4
+ *
5
+ * Sinnvoll fuer schnelle Q&A-Use-Cases ohne zusaetzliche Struktur oder Tools.
6
+ *
7
+ * @param params.llm Optionales Chat-LLM. Default: `getLLM({ provider: "openrouter" })`.
8
+ * @param params.question Die Frage, die beantwortet werden soll.
9
+ * @returns Die Modellantwort als String.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const answer = await ask({
14
+ * question: "Was ist der Unterschied zwischen RAM und ROM?"
15
+ * })
16
+ * ```
17
+ */
18
+ export declare function ask({ llm, question }: {
19
+ llm?: BaseChatModel;
4
20
  question: string;
5
21
  }): Promise<unknown>;
6
22
  //# sourceMappingURL=ask.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/answerers/ask.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAA0C,MAAM,eAAe,CAAA;AAErF,wBAAsB,GAAG,CAAC,KAAK,EAAC,MAAM,GAAG;IAAC,GAAG,EAAC,aAAa,CAAC;IAAC,QAAQ,EAAC,MAAM,CAAA;CAAC,oBAY1E"}
1
+ {"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/answerers/ask.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAA0C,MAAM,eAAe,CAAA;AAErF;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,GAAG,CAAC,EACtB,GAAwC,EACxC,QAAQ,EACX,EAAE;IACC,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACnB,oBAOE"}
@@ -1,17 +1,28 @@
1
- import { createSimpleChain, getLLM } from "../../helpers";
1
+ import { createSimpleChain } from "../../helpers/helpers";
2
+ import { getLLM } from "../../helpers/llms";
2
3
  import { ChatPromptTemplate, StringOutputParser } from "../../imports";
3
- export async function ask(input) {
4
- const llm = typeof input === "string" ? getLLM({ type: "groq", apikey: process.env.CHATGROQ_API_KEY ?? "" }) : input.llm;
4
+ /**
5
+ * Stellt eine einfache Frage an ein LLM und gibt eine Textantwort zurueck.
6
+ *
7
+ * Sinnvoll fuer schnelle Q&A-Use-Cases ohne zusaetzliche Struktur oder Tools.
8
+ *
9
+ * @param params.llm Optionales Chat-LLM. Default: `getLLM({ provider: "openrouter" })`.
10
+ * @param params.question Die Frage, die beantwortet werden soll.
11
+ * @returns Die Modellantwort als String.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const answer = await ask({
16
+ * question: "Was ist der Unterschied zwischen RAM und ROM?"
17
+ * })
18
+ * ```
19
+ */
20
+ export async function ask({ llm = getLLM({ provider: "openrouter" }), question }) {
5
21
  const prompt = ChatPromptTemplate.fromMessages([
6
22
  ["system", `Du bist ein hilfreicher Assistent.`],
7
23
  ["human", "{input}"]
8
24
  ]);
9
25
  const chain = createSimpleChain(prompt, llm, new StringOutputParser());
10
- if (typeof input === "string") {
11
- return await chain.invoke({ input });
12
- }
13
- else {
14
- return await chain.invoke({ input: input.question });
15
- }
26
+ return await chain.invoke({ input: question });
16
27
  }
17
28
  //# sourceMappingURL=ask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../../src/magic-funcs/answerers/ask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAiB,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAErF,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,KAAmD;IACzE,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAC,IAAI,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAA;IACrH,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC7C,CAAC,QAAQ,EAAE,oCAAoC,CAAC;QAChD,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,kBAAkB,EAAE,CAAC,CAAA;IACtE,IAAG,OAAO,KAAK,KAAK,QAAQ,EAAC,CAAC;QAC5B,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAC,CAAC,CAAA;IACrD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../../src/magic-funcs/answerers/ask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAiB,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAErF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,EACtB,GAAG,GAAG,MAAM,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EACxC,QAAQ,EAIX;IACG,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC7C,CAAC,QAAQ,EAAE,oCAAoC,CAAC;QAChD,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,kBAAkB,EAAE,CAAC,CAAA;IACtE,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;AAChD,CAAC"}
@@ -1,2 +1,17 @@
1
+ /**
2
+ * Fuehrt eine Websuche via Tavily aus und gibt die zusammengefasste Antwort zurueck.
3
+ *
4
+ * Die Query wird vorher in ein Tavily-Topic klassifiziert (`general`, `news`, `finance`),
5
+ * damit passend gesucht wird.
6
+ *
7
+ * @param query Suchanfrage als Freitext.
8
+ * @returns Tavily-Antworttext (falls vorhanden).
9
+ * @throws Wenn `TAVILY_API_KEY` nicht gesetzt ist.
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const answer = await websearch("Aktuelle Nachrichten zu OpenAI in der EU")
14
+ * ```
15
+ */
1
16
  export declare function websearch(query: string): Promise<string | undefined>;
2
17
  //# sourceMappingURL=websearch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"websearch.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/answerers/websearch.ts"],"names":[],"mappings":"AAGA,wBAAsB,SAAS,CAAC,KAAK,EAAC,MAAM,+BAczC"}
1
+ {"version":3,"file":"websearch.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/answerers/websearch.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,SAAS,CAAC,KAAK,EAAC,MAAM,+BAczC"}
@@ -1,5 +1,20 @@
1
1
  import { classify } from "../evaluators/classify";
2
2
  import { TavilySearch } from "../../heart/tools/Tavily";
3
+ /**
4
+ * Fuehrt eine Websuche via Tavily aus und gibt die zusammengefasste Antwort zurueck.
5
+ *
6
+ * Die Query wird vorher in ein Tavily-Topic klassifiziert (`general`, `news`, `finance`),
7
+ * damit passend gesucht wird.
8
+ *
9
+ * @param query Suchanfrage als Freitext.
10
+ * @returns Tavily-Antworttext (falls vorhanden).
11
+ * @throws Wenn `TAVILY_API_KEY` nicht gesetzt ist.
12
+ *
13
+ * @example
14
+ * ```ts
15
+ * const answer = await websearch("Aktuelle Nachrichten zu OpenAI in der EU")
16
+ * ```
17
+ */
3
18
  export async function websearch(query) {
4
19
  if (!process.env.TAVILY_API_KEY)
5
20
  throw new Error("TAVILY_API_KEY is not set for websearch() call");
@@ -1 +1 @@
1
- {"version":3,"file":"websearch.js","sourceRoot":"","sources":["../../../src/magic-funcs/answerers/websearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAY;IACxC,IAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACjG,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC;QAC3B,IAAI,EAAC,KAAK;QACV,OAAO,EAAC,CAAC,SAAS,EAAC,MAAM,EAAC,SAAS,CAAU;QAC7C,OAAO,EAAC,yIAAyI;KAClJ,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC9B,UAAU,EAAC,EAAE;QACb,YAAY,EAAC,OAAO,CAAC,GAAG,CAAC,cAAe;QACxC,aAAa,EAAC,IAAI;QAClB,KAAK,EAAC,KAAK,CAAC,KAAK;KAClB,CAAC,CAAA;IACF,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;AAChD,CAAC"}
1
+ {"version":3,"file":"websearch.js","sourceRoot":"","sources":["../../../src/magic-funcs/answerers/websearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAY;IACxC,IAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc;QAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACjG,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC;QAC3B,IAAI,EAAC,KAAK;QACV,OAAO,EAAC,CAAC,SAAS,EAAC,MAAM,EAAC,SAAS,CAAU;QAC7C,OAAO,EAAC,yIAAyI;KAClJ,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC9B,UAAU,EAAC,EAAE;QACb,YAAY,EAAC,OAAO,CAAC,GAAG,CAAC,cAAe;QACxC,aAAa,EAAC,IAAI;QAClB,KAAK,EAAC,KAAK,CAAC,KAAK;KAClB,CAAC,CAAA;IACF,OAAO,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;AAChD,CAAC"}
@@ -13,7 +13,26 @@ declare function createClassificationSchema<T extends readonly [string, ...strin
13
13
  confidence: z.ZodNumber;
14
14
  reasoning: z.ZodString;
15
15
  }> extends infer T_2 ? { [k_1 in keyof T_2]: T_2[k_1]; } : never>;
16
- export declare function classify<T extends readonly [string, ...string[]]>({ llm, data, classes, context }: {
16
+ /**
17
+ * Klassifiziert Input in genau eine vordefinierte Klasse und liefert Confidence + Begruendung.
18
+ *
19
+ * Sinnvoll fuer Routing, Labeling, Topic-Erkennung oder Vorentscheidungen in Flows.
20
+ *
21
+ * @param params.llm Optionales Chat-LLM.
22
+ * @param params.data Zu klassifizierender Input (String oder Objekt).
23
+ * @param params.classes Erlaubte Klassen als konstantes Tuple.
24
+ * @param params.context Optionaler Zusatzkontext fuer die Entscheidung.
25
+ * @returns Objekt mit `class`, `confidence` (0-100) und `reasoning`.
26
+ *
27
+ * @example
28
+ * ```ts
29
+ * const result = await classify({
30
+ * data: "Der Kunde moechte kuendigen und ist unzufrieden.",
31
+ * classes: ["support", "sales", "churn"] as const
32
+ * })
33
+ * ```
34
+ */
35
+ export declare function classify<const T extends readonly [string, ...string[]]>({ llm, data, classes, context }: {
17
36
  llm?: BaseChatModel;
18
37
  data: any;
19
38
  classes: T;
@@ -1 +1 @@
1
- {"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/evaluators/classify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAI1B,iBAAS,0BAA0B,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;;;;;;;;;;;;kEAUrF;AAED,wBAAsB,QAAQ,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,EACvE,GAAuE,EACvE,IAAI,EACJ,OAAO,EACP,OAAO,EACR,EAAE;IACD,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAiDrE"}
1
+ {"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/evaluators/classify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE7C,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAK1B,iBAAS,0BAA0B,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;;;;;;;;;;;;kEAUrF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,EAC7E,GAAiH,EACjH,IAAI,EACJ,OAAO,EACP,OAAO,EACR,EAAE;IACD,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAiDrE"}
@@ -1,8 +1,8 @@
1
- import { createSimpleChain } from "../../helpers";
1
+ import { createSimpleChain } from "../../helpers/helpers";
2
2
  import { ChatPromptTemplate } from "../../imports";
3
3
  import { z } from "zod/v3";
4
- import { getLLM } from "../../helpers";
5
4
  import { StructuredOutputParser } from "../../imports";
5
+ import { getLLM } from "../../helpers/llms";
6
6
  function createClassificationSchema(classes) {
7
7
  return z.object({
8
8
  class: z.enum(classes),
@@ -14,7 +14,26 @@ function createClassificationSchema(classes) {
14
14
  .describe("Kurze Begründung basierend auf dem Input")
15
15
  });
16
16
  }
17
- export async function classify({ llm = getLLM({ type: "groq", apikey: process.env.CHATGROQ_API_KEY ?? "" }), data, classes, context }) {
17
+ /**
18
+ * Klassifiziert Input in genau eine vordefinierte Klasse und liefert Confidence + Begruendung.
19
+ *
20
+ * Sinnvoll fuer Routing, Labeling, Topic-Erkennung oder Vorentscheidungen in Flows.
21
+ *
22
+ * @param params.llm Optionales Chat-LLM.
23
+ * @param params.data Zu klassifizierender Input (String oder Objekt).
24
+ * @param params.classes Erlaubte Klassen als konstantes Tuple.
25
+ * @param params.context Optionaler Zusatzkontext fuer die Entscheidung.
26
+ * @returns Objekt mit `class`, `confidence` (0-100) und `reasoning`.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const result = await classify({
31
+ * data: "Der Kunde moechte kuendigen und ist unzufrieden.",
32
+ * classes: ["support", "sales", "churn"] as const
33
+ * })
34
+ * ```
35
+ */
36
+ export async function classify({ llm = getLLM({ provider: "openrouter", apikey: process.env.OPENROUTER_API_KEY ?? "", model: "openai/gpt-5.4-mini" }), data, classes, context }) {
18
37
  const inputString = typeof data === "string"
19
38
  ? data
20
39
  : JSON.stringify(data, null, 2);
@@ -1 +1 @@
1
- {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../../src/magic-funcs/evaluators/classify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEtD,SAAS,0BAA0B,CAA2C,OAAU;IACpF,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;aACnB,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,CAAC,+BAA+B,CAAC;QAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;aAClB,QAAQ,CAAC,0CAA0C,CAAC;KACxD,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAA2C,EACvE,GAAG,GAAG,MAAM,CAAC,EAAC,IAAI,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAAC,CAAC,EACvE,IAAI,EACJ,OAAO,EACP,OAAO,EAMR;IAEC,MAAM,WAAW,GACf,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAEnC,MAAM,MAAM,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAA;IAClD,MAAM,MAAM,GAAG,sBAAsB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAE3D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC;QACnD,CAAC,QAAQ,EAAE;;;;;UAKP,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;UAgBrC,OAAO,CAAC,CAAC,CAAC;;UAEV,OAAO;SACR,CAAC,CAAC,CAAC,EAAE;;;;SAIL,CAAC;QACJ,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAC,OAAO,CAAC;QACT,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,EAAE;KACpD,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IACpD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;IAEzD,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AAC7B,CAAC"}
1
+ {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../../src/magic-funcs/evaluators/classify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAEzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,SAAS,0BAA0B,CAA2C,OAAU;IACpF,OAAO,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;aACnB,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,CAAC,+BAA+B,CAAC;QAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;aAClB,QAAQ,CAAC,0CAA0C,CAAC;KACxD,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAiD,EAC7E,GAAG,GAAG,MAAM,CAAC,EAAC,QAAQ,EAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAC,CAAC,EACjH,IAAI,EACJ,OAAO,EACP,OAAO,EAMR;IAEC,MAAM,WAAW,GACf,OAAO,IAAI,KAAK,QAAQ;QACtB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAEnC,MAAM,MAAM,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAA;IAClD,MAAM,MAAM,GAAG,sBAAsB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IAE3D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC;QACnD,CAAC,QAAQ,EAAE;;;;;UAKP,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;UAgBrC,OAAO,CAAC,CAAC,CAAC;;UAEV,OAAO;SACR,CAAC,CAAC,CAAC,EAAE;;;;SAIL,CAAC;QACJ,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAC,OAAO,CAAC;QACT,mBAAmB,EAAE,MAAM,CAAC,qBAAqB,EAAE;KACpD,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;IACpD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;IAEzD,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AAC7B,CAAC"}
@@ -13,6 +13,24 @@ declare const decideSchema: z.ZodObject<{
13
13
  decision: "yes" | "no" | "unclear";
14
14
  reason: string;
15
15
  }>;
16
+ /**
17
+ * Trifft eine strukturierte Ja/Nein/Unklar-Entscheidung fuer ein gegebenes Kriterium.
18
+ *
19
+ * Sinnvoll fuer Gate-Checks, Policy-Validierung oder automatische Freigabeentscheidungen.
20
+ *
21
+ * @param params.llm Optionales Chat-LLM.
22
+ * @param params.material Material/Datengrundlage fuer die Entscheidung.
23
+ * @param params.kriteria_to_decide Kriterium, nach dem entschieden werden soll.
24
+ * @returns Objekt mit `decision`, `reason` und `confidence`.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * const result = await decide({
29
+ * material: "Der User hat AGB akzeptiert und Email bestaetigt.",
30
+ * kriteria_to_decide: "Ist der User onboarding-ready?"
31
+ * })
32
+ * ```
33
+ */
16
34
  export declare function decide({ llm, material, kriteria_to_decide }: {
17
35
  llm?: BaseChatModel;
18
36
  material: any;
@@ -1 +1 @@
1
- {"version":3,"file":"decide.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/evaluators/decide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAM7C,QAAA,MAAM,YAAY;;;;;;;;;;;;EAad,CAAA;AAEF,wBAAsB,MAAM,CAAC,EAC3B,GAAuE,EACvE,QAAQ,EACR,kBAAkB,EACnB,EAAE;IACD,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,QAAQ,EAAE,GAAG,CAAA;IACb,kBAAkB,EAAE,MAAM,CAAA;CAC3B,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC,CAoCxC"}
1
+ {"version":3,"file":"decide.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/evaluators/decide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAO7C,QAAA,MAAM,YAAY;;;;;;;;;;;;EAad,CAAA;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,MAAM,CAAC,EAC3B,GAAiH,EACjH,QAAQ,EACR,kBAAkB,EACnB,EAAE;IACD,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,QAAQ,EAAE,GAAG,CAAA;IACb,kBAAkB,EAAE,MAAM,CAAA;CAC3B,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC,CAoCxC"}
@@ -1,8 +1,8 @@
1
1
  import { z } from "zod/v3";
2
2
  import { ChatPromptTemplate } from "../../imports";
3
- import { getLLM } from "../../helpers";
4
3
  import { StructuredOutputParser } from "../../imports";
5
- import { createSimpleChain } from "../../helpers";
4
+ import { createSimpleChain } from "../../helpers/helpers";
5
+ import { getLLM } from "../../helpers/llms";
6
6
  const decideSchema = z.object({
7
7
  decision: z.enum(["yes", "no", "unclear"])
8
8
  .describe("Ergebnis der Entscheidung basierend auf dem Kriterium"),
@@ -15,7 +15,25 @@ const decideSchema = z.object({
15
15
  "decision='unclear' → confidence=0. " +
16
16
  "decision='yes' oder 'no' → confidence > 0")
17
17
  });
18
- export async function decide({ llm = getLLM({ type: "groq", apikey: process.env.CHATGROQ_API_KEY ?? "" }), material, kriteria_to_decide }) {
18
+ /**
19
+ * Trifft eine strukturierte Ja/Nein/Unklar-Entscheidung fuer ein gegebenes Kriterium.
20
+ *
21
+ * Sinnvoll fuer Gate-Checks, Policy-Validierung oder automatische Freigabeentscheidungen.
22
+ *
23
+ * @param params.llm Optionales Chat-LLM.
24
+ * @param params.material Material/Datengrundlage fuer die Entscheidung.
25
+ * @param params.kriteria_to_decide Kriterium, nach dem entschieden werden soll.
26
+ * @returns Objekt mit `decision`, `reason` und `confidence`.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const result = await decide({
31
+ * material: "Der User hat AGB akzeptiert und Email bestaetigt.",
32
+ * kriteria_to_decide: "Ist der User onboarding-ready?"
33
+ * })
34
+ * ```
35
+ */
36
+ export async function decide({ llm = getLLM({ provider: "openrouter", apikey: process.env.OPENROUTER_API_KEY ?? "", model: "openai/gpt-5.4-mini" }), material, kriteria_to_decide }) {
19
37
  const inputString = typeof material === "string"
20
38
  ? material
21
39
  : JSON.stringify(material, null, 2);
@@ -1 +1 @@
1
- {"version":3,"file":"decide.js","sourceRoot":"","sources":["../../../src/magic-funcs/evaluators/decide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;SACvC,QAAQ,CAAC,uDAAuD,CAAC;IACpE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SACf,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;SACnB,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CACP,uCAAuC;QACvC,qCAAqC;QACrC,2CAA2C,CAC5C;CACJ,CAAC,CAAA;AAEF,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,EAC3B,GAAG,GAAG,MAAM,CAAC,EAAC,IAAI,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAAC,CAAC,EACvE,QAAQ,EACR,kBAAkB,EAKnB;IAEC,MAAM,WAAW,GACf,OAAO,QAAQ,KAAK,QAAQ;QAC1B,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAEvC,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;IACrE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC;QACnD,CAAC,QAAQ,EAAE;;;;;;;;;;;;;;;UAeP,kBAAkB;;;;SAInB,CAAC;QACJ,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAC,OAAO,CAAC;QACT,mBAAmB,EAAE,UAAU,CAAC,qBAAqB,EAAE;KACxD,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;IACzD,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AACnC,CAAC"}
1
+ {"version":3,"file":"decide.js","sourceRoot":"","sources":["../../../src/magic-funcs/evaluators/decide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;SACvC,QAAQ,CAAC,uDAAuD,CAAC;IACpE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SACf,QAAQ,CAAC,iFAAiF,CAAC;IAC9F,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;SACnB,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,CACP,uCAAuC;QACvC,qCAAqC;QACrC,2CAA2C,CAC5C;CACJ,CAAC,CAAA;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,EAC3B,GAAG,GAAG,MAAM,CAAC,EAAC,QAAQ,EAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAC,CAAC,EACjH,QAAQ,EACR,kBAAkB,EAKnB;IAEC,MAAM,WAAW,GACf,OAAO,QAAQ,KAAK,QAAQ;QAC1B,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAEvC,MAAM,UAAU,GAAG,sBAAsB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA;IACrE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC;QACnD,CAAC,QAAQ,EAAE;;;;;;;;;;;;;;;UAeP,kBAAkB;;;;SAInB,CAAC;QACJ,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAC,OAAO,CAAC;QACT,mBAAmB,EAAE,UAAU,CAAC,qBAAqB,EAAE;KACxD,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;IACxD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;IACzD,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AACnC,CAAC"}
@@ -1,4 +1,22 @@
1
1
  import { BaseChatModel } from "../../imports";
2
+ /**
3
+ * Erzeugt aus einer Nutzeranforderung einen robusten System-Prompt fuer Agents.
4
+ *
5
+ * Sinnvoll wenn aus vagen Anforderungen ein klarer, wiederverwendbarer Prompt entstehen soll.
6
+ *
7
+ * @param params.llm Optionales Chat-LLM.
8
+ * @param params.request Urspruengliche Nutzeranfrage.
9
+ * @param params.agentRole Optionaler Rollen-Kontext fuer den Ziel-Agenten.
10
+ * @returns Finaler System-Prompt als String.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const systemPrompt = await promptify({
15
+ * request: "Baue einen Assistenten fuer technische Kundentickets.",
16
+ * agentRole: "Senior Support Engineer"
17
+ * })
18
+ * ```
19
+ */
2
20
  export declare function promptify({ llm, request, agentRole, }: {
3
21
  llm?: BaseChatModel;
4
22
  request: string;
@@ -1 +1 @@
1
- {"version":3,"file":"promptify.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/optimizers/promptify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAK7C,wBAAsB,SAAS,CAAC,EAC5B,GAAuE,EACvE,OAAO,EACP,SAAS,GACV,EAAE;IACD,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,CA6ClB"}
1
+ {"version":3,"file":"promptify.d.ts","sourceRoot":"","sources":["../../../src/magic-funcs/optimizers/promptify.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAK7C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,SAAS,CAAC,EAC5B,GAAkF,EAClF,OAAO,EACP,SAAS,GACV,EAAE;IACD,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,CA6ClB"}
@@ -1,8 +1,26 @@
1
- import { getLLM } from "../../helpers";
1
+ import { getLLM } from "../../helpers/llms";
2
2
  import { ChatPromptTemplate } from "../../imports";
3
- import { createSimpleChain } from "../../helpers";
3
+ import { createSimpleChain } from "../../helpers/helpers";
4
4
  import { StringOutputParser } from "../../imports";
5
- export async function promptify({ llm = getLLM({ type: "groq", apikey: process.env.CHATGROQ_API_KEY ?? "" }), request, agentRole, }) {
5
+ /**
6
+ * Erzeugt aus einer Nutzeranforderung einen robusten System-Prompt fuer Agents.
7
+ *
8
+ * Sinnvoll wenn aus vagen Anforderungen ein klarer, wiederverwendbarer Prompt entstehen soll.
9
+ *
10
+ * @param params.llm Optionales Chat-LLM.
11
+ * @param params.request Urspruengliche Nutzeranfrage.
12
+ * @param params.agentRole Optionaler Rollen-Kontext fuer den Ziel-Agenten.
13
+ * @returns Finaler System-Prompt als String.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const systemPrompt = await promptify({
18
+ * request: "Baue einen Assistenten fuer technische Kundentickets.",
19
+ * agentRole: "Senior Support Engineer"
20
+ * })
21
+ * ```
22
+ */
23
+ export async function promptify({ llm = getLLM({ provider: "chatgroq", apikey: process.env.CHATGROQ_API_KEY ?? "" }), request, agentRole, }) {
6
24
  const prompt = ChatPromptTemplate.fromMessages([
7
25
  ["system", `
8
26
  Du bist ein Prompt-Engineering-Experte für KI-Agenten.
@@ -1 +1 @@
1
- {"version":3,"file":"promptify.js","sourceRoot":"","sources":["../../../src/magic-funcs/optimizers/promptify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAC5B,GAAG,GAAG,MAAM,CAAC,EAAC,IAAI,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAAC,CAAC,EACvE,OAAO,EACP,SAAS,GAMV;IAEC,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC7C,CAAC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;UA0BP,SAAS,CAAC,CAAC,CAAC;;YAEV,SAAS;SACZ,CAAC,CAAC,CAAC,EAAE;;;;;SAKL,CAAC;QACJ,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,kBAAkB,EAAE,CAAC,CAAA;IACtE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;IAErD,OAAO,MAAgB,CAAA;AACzB,CAAC"}
1
+ {"version":3,"file":"promptify.js","sourceRoot":"","sources":["../../../src/magic-funcs/optimizers/promptify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAC5B,GAAG,GAAG,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC,EAClF,OAAO,EACP,SAAS,GAMV;IAEC,MAAM,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC7C,CAAC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;UA0BP,SAAS,CAAC,CAAC,CAAC;;YAEV,SAAS;SACZ,CAAC,CAAC,CAAC,EAAE;;;;;SAKL,CAAC;QACJ,CAAC,OAAO,EAAE,SAAS,CAAC;KACrB,CAAC,CAAA;IAEF,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,kBAAkB,EAAE,CAAC,CAAA;IACtE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;IAErD,OAAO,MAAgB,CAAA;AACzB,CAAC"}