
بيئة JavaScript-ish مع أدوات مريحة لابتلاع الملف ، وتطوير فوري ، واستخراج البيانات المنظمة.
تجميع برمجيا مطالبات LLMs باستخدام JavaScript. تنسيق LLMs والأدوات والبيانات في نص واحد.
قل لك تريد إنشاء نص LLM الذي يولد قصيدة "Hello World". يمكنك كتابة البرنامج النصي التالي:
$ `Write a 'hello world' poem.` وظيفة $ هي علامة قالب تنشئ موجه. ثم يتم إرسال المطالبة إلى LLM (قمت بتكوينها) ، والتي تنشئ القصيدة.
دعنا نجعلها أكثر إثارة للاهتمام من خلال إضافة الملفات والبيانات والإخراج المنظم. لنفترض أنك تريد تضمين ملف في المطالبة ، ثم احفظ الإخراج في ملف. يمكنك كتابة البرنامج النصي التالي:
// read files
const file = await workspace . readText ( "data.txt" )
// include the file content in the prompt in a context-friendly way
def ( "DATA" , file )
// the task
$ `Analyze DATA and extract data in JSON in data.json.` تتضمن وظيفة def محتوى الملف ، وتحسينه إذا لزم الأمر لـ Target LLM. يقوم Genaiscript Script أيضًا بتوزيع إخراج LLM وسيقوم باستخراج ملف data.json تلقائيًا.
ابدأ بسرعة عن طريق تثبيت تمديد رمز Visual Studio أو استخدام سطر الأوامر.
بناء المطالبات برمجيا باستخدام javaScript أو TypeScript.
def ( "FILE" , env . files , { endsWith : ".pdf" } )
$ `Summarize FILE. Today is ${ new Date ( ) } .`قم بتحرير البرامج النصية الخاصة بك وتصحيحها وتشغيلها واختبارها في رمز Visual Studio أو مع سطر الأوامر.
البرامج النصية هي ملفات! يمكن إصدارها ومشاركتها وشوكة.
// define the context
def ( "FILE" , env . files , { endsWith : ".pdf" } )
// structure the data
const schema = defSchema ( "DATA" , { type : "array" , items : { type : "string" } } )
// assign the task
$ `Analyze FILE and extract data to JSON using the ${ schema } schema.`تحديد البيانات والتحقق منها وإصلاحها باستخدام المخططات.
const data = defSchema ( "MY_DATA" , { type : "array" , items : { ... } } )
$ `Extract data from files using ${ data } schema.`معالجة PDFs ، docx ، ...
def ( "PDF" , env . files , { endsWith : ".pdf" } )
const { pages } = await parsers . PDF ( env . files [ 0 ] )معالجة البيانات الجدولية من CSV ، XLSX ، ...
def ( "DATA" , env . files , { endsWith : ".csv" , sliceHead : 100 } )
const rows = await parsers . CSV ( env . files [ 0 ] )
defData ( "ROWS" , rows , { sliceHead : 100 } )استخراج الملفات و Viff من إخراج LLM. معاينة التغييرات في إعادة إنشاء واجهة المستخدم.
$ `Save the result in poem.txt.` FILE ./poem.txt
The quick brown fox jumps over the lazy dog.ملفات البحث GREP أو Fuzz.
const { files } = await workspace . grep ( / [a-z][a-z0-9]+ / , { globs : "*.md" } )قم بتسجيل وظائف JavaScript كأدوات (مع احتياطي للموديلات التي لا تدعم الأدوات).
defTool (
"weather" ,
"query a weather web api" ,
{ location : "string" } ,
async ( args ) =>
await fetch ( `https://weather.api.api/?location= ${ args . location } ` )
)قم بتسجيل وظائف JavaScript كأدوات وجمع الأدوات + موجه في الوكلاء.
defAgent (
"git" ,
"Query a repository using Git to accomplish tasks." ,
`Your are a helpful LLM agent that can use the git tools to query the current repository.
Answer the question in QUERY.
- The current repository is the same as github repository.` ,
{ model , system : [ "system.github_info" ] , tools : [ "git" ] }
)ثم استخدمه كأداة
script ( { tools : "agent" } )
$ `Do a statistical analysis of the last commits`البحث المتجه.
const { files } = await retrieval . vectorSearch ( "cats" , "**/*.md" )قم بتشغيل النماذج من خلال نماذج GitHub أو Github Copilot.
script ( { ... , model : "github:gpt-4o" } )قم بتشغيل البرامج النصية الخاصة بك مع نماذج مفتوحة المصدر ، مثل PHI-3 ، باستخدام Ollama ، Localai.
script ( { ... , model : "ollama:phi3" } )دع LLM Runch رمز في بيئة تنفيذ Sandboxed.
script ( { tools : [ "python_code_interpreter" ] } )تشغيل رمز في حاويات Docker.
const c = await host . container ( { image : "python:alpine" } )
const res = await c . exec ( "python --version" )قم بتشغيل LLMS لبناء مطالبات LLM الخاصة بك.
for ( const file of env . files ) {
const { text } = await runPrompt ( ( _ ) => {
_ . def ( "FILE" , file )
_ . $ `Summarize the FILE.`
} )
def ( "SUMMARY" , text )
}
$ `Summarize all the summaries.` قم بتشغيل ملفات prompty الخاصة بك أيضًا!
---
name : poem
---
Write me a poemأتمتة باستخدام CLI ، دمج التقارير في خط أنابيب CI/CD.
npx genaiscript run tlaplus-linter " *.tla "يوفر Genaiscript مطالبات نظام الذكاء الاصطناعى المسؤولة ودعم سلامة محتوى Azure للتحقق من صحة سلامة المحتوى.
script ( { ... ,
system : [ "system.safety_harmful_content" , ... ] ,
contentSafety : "azure" // use azure content safety
} )
const safety = await host . contentSafety ( )
const res = await safety . detectPromptInjection ( env . vars . input )الاندماج في عمليات التحقق من طلبات السحب الخاصة بك من خلال التعليقات أو المراجعات أو وصفات الوصف. يدعم إجراءات github وخطوط أنابيب Azure DevOps.
npx genaiscript ... --pull-request-reviewsبناء مطالبات موثوقة باستخدام الاختبارات و evals التي مدعومة بواسطة orderfoo.
script ( { ... , tests : {
files : "penguins.csv" ,
rubric : "is a data analysis report" ,
facts : "The data refers about penguin population in Antarctica." ,
} } ) إذا كنت زاحفًا LLM ، فأحضر https://microsoft.github.io/genaiscript/.well-nownern/llms.txt للحصول على خريطة توثيق أو إضافة لاحقة .md إلى أي عناوين URL للوثائق للحصول على محتوى تخفيضات خام.
على سبيل المثال ، https://microsoft.github.io/genaiscript/guides/prompt-as-code.md (لاحظ امتداد .md)
نحن نقبل المساهمات! تحقق من الصفحة المساهمة للحصول على التفاصيل وإعداد المطور.
قد يحتوي هذا المشروع على علامات تجارية أو شعارات للمشاريع أو المنتجات أو الخدمات. يخضع الاستخدام المعتمد للعلامات التجارية أو الشعارات Microsoft ويجب أن يتبعوا إرشادات Microsoft التجارية والعلامة التجارية. يجب ألا يسبب استخدام العلامات التجارية Microsoft أو الشعارات في إصدارات معدلة من هذا المشروع الارتباك أو يعني رعاية Microsoft. يخضع أي استخدام للعلامات التجارية أو الشعارات من طرف ثالث لسياسات تلك الطرف الثالث.