@@ -226,7 +226,6 @@ def extract_default_value(content: str) -> Any:
226
226
227
227
# If it's an array or object, try to find the complete value
228
228
if value_str .startswith ("[" ) or value_str .startswith ("{" ):
229
- # Find the complete array/object by looking in the original content
230
229
# Find the position of the opening bracket in the original content
231
230
default_start = content .find ("default:" )
232
231
if default_start != - 1 :
@@ -669,6 +668,18 @@ def generate_openapi_schema(evaluators: Dict[str, Any]) -> Dict[str, Any]:
669
668
},
670
669
},
671
670
},
671
+ "x-codeSamples" : [
672
+ {
673
+ "lang" : "python" ,
674
+ "label" : "Python" ,
675
+ "source" : f'import langwatch\n @langwatch.span()\n def llm_step():\n ... # your existing code\n result = langwatch.get_current_span().evaluate(\n "{ evaluator_id } ",\n { chr (10 ).join (f" { field } =\" \" , # required" for field in evaluator .get ("requiredFields" , []))} \n { chr (10 ).join (f" { field } =\" \" , # optional" for field in evaluator .get ("optionalFields" , []))} \n settings={{}},\n )\n print(result)' ,
676
+ },
677
+ {
678
+ "lang" : "typescript" ,
679
+ "label" : "TypeScript" ,
680
+ "source" : f'import {{ type LangWatchTrace }} from "langwatch";\n \n async function llmStep({{ message, trace }}: {{ message: string, trace: LangWatchTrace }}): Promise<string> {{\n const span = trace.startLLMSpan({{ name: "llmStep" }});\n \n // ... your existing code\n \n // call the evaluator either on a span or on a trace\n const result = await span.evaluate({{\n evaluator: "{ evaluator_id } ",\n name: "",\n { chr (10 ).join (f" { field } : \" \" , // required" for field in evaluator .get ("requiredFields" , []))} \n { chr (10 ).join (f" { field } : \" \" , # optional" for field in evaluator .get ("optionalFields" , []))} settings: {{}},\n }})\n \n console.log(result);' ,
681
+ },
682
+ ],
672
683
}
673
684
}
674
685
else :
@@ -725,6 +736,18 @@ def generate_openapi_schema(evaluators: Dict[str, Any]) -> Dict[str, Any]:
725
736
},
726
737
},
727
738
},
739
+ "x-codeSamples" : [
740
+ {
741
+ "lang" : "python" ,
742
+ "label" : "Python" ,
743
+ "source" : f'import langwatch\n @langwatch.span()\n def llm_step():\n ... # your existing code\n result = langwatch.get_current_span().evaluate(\n "{ evaluator_id } ",\n { chr (10 ).join (f" { field } =\" \" , # required" for field in evaluator .get ("requiredFields" , []))} \n { chr (10 ).join (f" { field } =\" \" , # optional" for field in evaluator .get ("optionalFields" , []))} \n settings={{}},\n )\n print(result)' ,
744
+ },
745
+ {
746
+ "lang" : "typescript" ,
747
+ "label" : "TypeScript" ,
748
+ "source" : f'import {{ type LangWatchTrace }} from "langwatch";\n \n async function llmStep({{ message, trace }}: {{ message: string, trace: LangWatchTrace }}): Promise<string> {{\n const span = trace.startLLMSpan({{ name: "llmStep" }});\n \n // ... your existing code\n \n // call the evaluator either on a span or on a trace\n const result = await span.evaluate({{\n evaluator: "{ evaluator_id } ",\n name: "",\n { chr (10 ).join (f" { field } : \" \" , // required" for field in evaluator .get ("requiredFields" , []))} \n { chr (10 ).join (f" { field } : \" \" , # optional" for field in evaluator .get ("optionalFields" , []))} settings: {{}},\n }})\n \n console.log(result);' ,
749
+ },
750
+ ],
728
751
}
729
752
}
730
753
0 commit comments