AI Function Helper adalah modul Node.js yang kuat yang menyederhanakan integrasi model GPT Openai ke dalam aplikasi Anda. Ini memberikan cara terstruktur untuk berinteraksi dengan model AI, memastikan respons yang konsisten dan diformat.
Instal Helper Fungsi AI Menggunakan NPM:
npm install ai-function-helperInilah contoh sederhana untuk membantu Anda memulai:
const { createAiFunctionInstance } = require ( 'ai-function-helper' ) ;
// Create an instance with your OpenAI API key
const aiFunction = createAiFunctionInstance ( 'your_api_key_here' ) ;
// Define your function
const options = {
functionName : 'generate_haiku' ,
model : 'gpt-3.5-turbo' ,
args : { topic : 'spring' } ,
description : 'Generate a haiku about the given topic.' ,
outputSchema : {
type : "object" ,
properties : {
haiku : { type : "string" }
} ,
required : [ "haiku" ]
}
} ;
// Call the function
aiFunction ( options )
. then ( result => console . log ( result . haiku ) )
. catch ( error => console . error ( error ) ) ; Untuk menggunakan Helper Fungsi AI, pertama -tama Anda harus membuat instance dengan kunci API OpenAI Anda:
const { createAiFunctionInstance } = require ( 'ai-function-helper' ) ;
const aiFunction = createAiFunctionInstance ( 'your_api_key_here' ) ;Anda juga dapat menggunakan URL titik akhir khusus:
const aiFunction = createAiFunctionInstance ( 'your_api_key_here' , 'https://api.openai.com/v1' ) ;Atau, Anda dapat menggunakan instance OpenAI yang ada:
const OpenAI = require ( 'openai' ) ;
const openai = new OpenAI ( { apiKey : 'your_api_key_here' } ) ;
const aiFunction = createAiFunctionInstance ( openai ) ;Setelah Anda memiliki instance, Anda dapat menghubungi fungsi AI dengan memberikan opsi:
const result = await aiFunction ( {
functionName : 'example_function' ,
model : 'gpt-4o' ,
args : { param1 : 'value1' , param2 : 'value2' } ,
description : 'This is an example function.' ,
outputSchema : {
type : "object" ,
properties : {
result : { type : "string" }
} ,
required : [ "result" ]
}
} ) ; aiFunction mengambil objek opsi dengan properti berikut:
| Pilihan | Jenis | Keterangan | Bawaan |
|---|---|---|---|
functionName | rangkaian | Nama fungsi AI | 'custom_function' |
args | objek/string | Argumen untuk fungsi tersebut | - |
description | rangkaian | Deskripsi Tujuan Fungsi | - |
outputSchema | obyek | Jenis pengembalian yang diharapkan (skema json atau skema zod) | - |
strictReturn | Boolean | Menegakkan validasi tipe pengembalian yang ketat | true |
showDebug | Boolean | Cetak informasi debug ke konsol | false |
debugLevel | nomor | Tingkat Informasi Debug (0-2) | 0 |
temperature | nomor | Suhu pengambilan sampel untuk model AI | 0.6 |
frequency_penalty | nomor | Hukuman frekuensi untuk model AI | 0 |
presence_penalty | nomor | Hukuman hadir untuk model AI | 0 |
model | rangkaian | Model AI untuk digunakan | 'gpt-4o-mini' |
max_tokens | nomor | Jumlah token maksimum untuk menghasilkan | 1000 |
top_p | nomor | Nilai P teratas untuk model AI | null |
blockHijack | Boolean | Mencegah pembajakan yang cepat | false |
blockHijackThrowError | Boolean | Lemparkan kesalahan pada upaya pembajakan | false |
tools | array | Fungsi pembantu untuk digunakan dalam fungsi utama | [] |
stream | Boolean | Aktifkan streaming respons | false |
streamCallback | fungsi | Panggilan balik untuk respons streaming | null |
promptVars | obyek | Variabel untuk digunakan di prompt | {} |
images | string/array | URL gambar untuk model visi | null |
imageQuality | rangkaian | Kualitas gambar untuk model visi | 'low' |
minifyJSON | Boolean | Minify output JSON | false |
history | array | Sejarah Percakapan untuk Konteks | [] |
forceJsonMode | Boolean | Memaksa mode json untuk model non-json | false |
timeout | nomor | Batas waktu untuk panggilan API (dalam milidetik) | 120000 |
maxRetries | nomor | Jumlah retries maksimum untuk panggilan API | 0 |
includeThinking | Boolean | Sertakan proses pemikiran AI dalam output debug | false |
OutputSchema : Menentukan struktur yang diharapkan dari output fungsi AI menggunakan skema JSON atau skema ZOD. Ini memastikan bahwa model AI mengembalikan data dalam format yang diharapkan aplikasi Anda.
Alat : Serangkaian fungsi pembantu yang dapat digunakan dalam fungsi AI utama. Setiap alat adalah objek dengan name , function_call , description , dan properti parameters .
BlockHijack : Saat diaktifkan, fitur ini mencegah model AI dari instruksi berikut dalam pesan pengguna yang berupaya mengganti perilaku fungsi yang dimaksud.
PromptVars : Memungkinkan Anda untuk mendefinisikan variabel yang akan diganti dalam deskripsi fungsi, memberikan lebih banyak fleksibilitas dalam rekayasa prompt.
Gambar : Mengaktifkan penggunaan input gambar untuk model berkemampuan penglihatan, memperluas jenis tugas yang dapat dilakukan AI.
Termasuk : Ketika diatur ke true , opsi ini mencakup proses pemikiran AI dalam output debug, memberikan wawasan tentang bagaimana AI tiba pada kesimpulannya. Ini sangat berguna untuk tugas pemecahan masalah yang kompleks dan debugging.
Opsi includeThinking memungkinkan Anda untuk menangkap proses pemikiran AI sebelum menghasilkan output akhir. Fitur ini memberikan beberapa manfaat:
Kualitas respons yang lebih baik : Dengan "berpikir" sebelum merespons, AI dapat mengatur pemikirannya dan memberikan jawaban yang lebih koheren dan terstruktur dengan baik.
Transparansi : Anda dapat melihat alasan di balik tanggapan AI, yang berguna untuk men -debug dan memahami bagaimana AI sampai pada kesimpulannya.
Bantuan Debugging : Proses berpikir dapat sangat berharga saat memfitnah permintaan atau memecahkan masalah output yang tidak terduga.
Saat diaktifkan, proses berpikir AI termasuk dalam output debug tetapi tidak dikembalikan sebagai bagian dari hasil akhir. Inilah cara menggunakannya:
const options = {
functionName : 'complex_calculation' ,
args : { expression : '15*87 + ( 129/ (48*0.5) ) +12' } ,
description : 'Perform a complex mathematical calculation and show the steps.' ,
outputSchema : {
type : "object" ,
properties : {
result : { type : "number" }
} ,
required : [ "result" ]
} ,
includeThinking : true ,
showDebug : true // Set this to true to see the thinking process in the console
} ;
const result = await aiFunction ( options ) ; Dalam output debug, Anda akan melihat proses berpikir terlampir di <|start_of_thinking|> dan <|end_of_thinking|> tag. Misalnya:
--- Thinking Process ---
To solve the expression '15*87 + ( 129/ (48*0.5) ) +12', I'll break it down into steps:
1. First, let's solve the parentheses:
(48*0.5) = 24
2. Now we can simplify the division:
129 / 24 = 5.375
3. Let's calculate 15*87:
15*87 = 1305
4. Now we have simplified the expression to:
1305 + 5.375 + 12
5. Let's add these numbers:
1305 + 5.375 = 1310.375
1310.375 + 12 = 1322.375
Therefore, the final result is 1322.375.
--- Parsed JSON Output ---
{
"result": 1322.375
}
Perhatikan bahwa proses berpikir hanya terlihat dalam output debug dan tidak mempengaruhi struktur atau konten hasil yang dikembalikan. Fitur ini sangat berguna untuk tugas -tugas kompleks di mana memahami penalaran AI dapat menyebabkan rekayasa cepat yang lebih baik dan hasil yang lebih akurat.
Dalam contoh ini, kita dapat melihat bagaimana AI memecah perhitungan kompleks menjadi langkah-langkah yang dapat dikelola, membuatnya lebih mudah untuk memverifikasi hasilnya dan memahami pendekatan pemecahan masalah. Tingkat detail dalam proses berpikir ini dapat sangat berharga untuk debugging, pendidikan, atau ketika langkah -langkah untuk mencapai kesimpulan sama pentingnya dengan jawaban akhir itu sendiri.
Aktifkan streaming untuk memproses respons secara real-time:
const options = {
// ... other options ...
stream : true ,
streamCallback : ( chunk ) => {
console . log ( 'Received chunk:' , chunk ) ;
}
} ; Fitur streaming memungkinkan Anda untuk memproses respons AI secara real-time, yang dapat sangat berguna untuk tugas yang sudah berjalan lama atau ketika Anda ingin memberikan umpan balik langsung kepada pengguna. Berikut adalah contoh cara menggunakan opsi stream dengan streamCallback :
const { createAiFunctionInstance } = require ( 'ai-function-helper' ) ;
const aiFunction = createAiFunctionInstance ( 'your_api_key_here' ) ;
async function generateStory ( ) {
let story = '' ;
const options = {
functionName : 'generate_story' ,
model : 'gpt-4o' ,
args : {
theme : 'space exploration' ,
length : 'short'
} ,
description : 'Generate a short story about space exploration.' ,
// We don't use 'outputSchema' to return a text instead of a JSON
stream : true ,
streamCallback : ( chunk ) => {
const content = chunk . choices [ 0 ] ?. delta ?. content ;
if ( content ) {
story += content ;
console . log ( 'Received chunk:' , content ) ;
// You can update your UI here with the new content
}
}
} ;
try {
const result = await aiFunction ( options ) ;
// The result here will be the complete response
console . log ( 'Final story:' , story ) ;
return story ;
} catch ( error ) {
console . error ( 'Error generating story:' , error ) ;
}
}
generateStory ( ) ;Dalam contoh ini:
stream: true di opsi untuk mengaktifkan streaming.streamCallback yang menerima potongan respons saat mereka tiba.Pendekatan ini memungkinkan Anda untuk menangani respons AI secara real-time, yang dapat bermanfaat untuk:
Ingatlah bahwa saat menggunakan streaming, hasil akhir yang dikembalikan oleh aiFunction akan menjadi respons lengkap, sehingga Anda masih dapat menggunakannya jika diperlukan.
Tentukan fungsi helper untuk digunakan dalam fungsi AI utama Anda:
const options = {
// ... other options ...
tools : [
{
name : "generate_password" ,
function_call : ( { length = 5 , passwordCount = 1 } ) => {
// Password generation logic here
} ,
description : "Generate a random password" ,
parameters : {
type : "object" ,
properties : {
length : { type : "integer" } ,
passwordCount : { type : "integer" }
}
}
}
]
} ;Aktifkan perlindungan terhadap pembajakan yang cepat:
const options = {
// ... other options ...
blockHijack : true ,
blockHijackThrowError : true // Optional: throw error instead of returning a message
} ;Untuk model berkemampuan penglihatan, Anda dapat memasukkan input gambar:
const options = {
// ... other options ...
images : 'https://example.com/image.jpg' ,
// Or
images : [ 'https://example.com/image1.jpg' , 'https://example.com/image2.jpg' ] ,
imageQuality : 'high'
} ;Berikan konteks dari interaksi sebelumnya:
const options = {
// ... other options ...
history : [
{ role : "user" , content : "What's the weather like?" } ,
{ role : "assistant" , content : "I'm sorry, but I don't have access to real-time weather information. Is there anything else I can help you with?" }
]
} ; Berikut adalah beberapa contoh menarik yang menampilkan fleksibilitas dan kekuatan modul aiFunction :
const options = {
functionName : 'generate_quiz' ,
model : 'gpt-4o' ,
args : { topic : 'space exploration' , difficulty : 'medium' , num_questions : 2 } ,
description : 'Generate a quiz with multiple-choice questions on the given topic.' ,
outputSchema : {
type : "array" ,
items : {
type : "object" ,
properties : {
question : { type : "string" } ,
options : {
type : "array" ,
items : { type : "string" } ,
minItems : 4 ,
maxItems : 4
} ,
correct_answer : { type : "string" }
} ,
required : [ "question" , "options" , "correct_answer" ]
}
}
} ;
const quiz = await aiFunction ( options ) ;
console . log ( JSON . stringify ( quiz , null , 2 ) ) ;Output yang diharapkan:
[
{
"question" : " Which space agency launched the first artificial satellite, Sputnik 1? " ,
"options" : [
" NASA " ,
" Soviet Union " ,
" European Space Agency " ,
" China National Space Administration "
],
"correct_answer" : " Soviet Union "
},
{
"question" : " What year did the Apollo 11 mission successfully land humans on the Moon? " ,
"options" : [
" 1967 " ,
" 1969 " ,
" 1971 " ,
" 1973 "
],
"correct_answer" : " 1969 "
}
] const { z } = require ( 'zod' ) ;
const options = {
functionName : 'create_recipe' ,
model : 'gpt-4o' ,
args : { cuisine : 'Italian' , main_ingredient : 'pasta' , dietary_restriction : 'vegetarian' } ,
description : 'Create a recipe based on the given cuisine, main ingredient, and dietary restriction.' ,
outputSchema : z . object ( {
name : z . string ( ) ,
ingredients : z . array ( z . string ( ) ) ,
instructions : z . array ( z . string ( ) ) ,
prep_time : z . string ( ) ,
cook_time : z . string ( ) ,
servings : z . number ( ) . int ( )
} )
} ;
const recipe = await aiFunction ( options ) ;
console . log ( JSON . stringify ( recipe , null , 2 ) ) ;Output yang diharapkan:
{
"name" : " Vegetarian Pasta Primavera " ,
"ingredients" : [
" 12 oz penne pasta " ,
" 2 cups mixed vegetables (bell peppers, zucchini, carrots) " ,
" 1/4 cup olive oil " ,
" 3 cloves garlic, minced " ,
" 1/2 cup grated Parmesan cheese " ,
" 1/4 cup fresh basil, chopped " ,
" Salt and pepper to taste "
],
"instructions" : [
" Cook pasta according to package instructions. Reserve 1/2 cup pasta water. " ,
" In a large skillet, heat olive oil over medium heat. Add minced garlic and sauté for 1 minute. " ,
" Add mixed vegetables to the skillet and cook for 5-7 minutes until tender-crisp. " ,
" Drain pasta and add it to the skillet with vegetables. Toss to combine. " ,
" Add Parmesan cheese, basil, and pasta water as needed to create a light sauce. " ,
" Season with salt and pepper to taste. Serve hot. "
],
"prep_time" : " 15 minutes " ,
"cook_time" : " 20 minutes " ,
"servings" : 4
} const options = {
functionName : 'analyze_reviews' ,
model : 'gpt-4o' ,
args : {
reviews : [
"The product exceeded my expectations. Great value for money!" ,
"Disappointed with the quality. Wouldn't recommend." ,
"Average product, nothing special but does the job."
]
} ,
description : 'Analyze the sentiment of customer reviews and categorize them.' ,
outputSchema : {
type : "array" ,
items : {
type : "object" ,
properties : {
review : { type : "string" } ,
sentiment : { type : "string" , enum : [ "positive" , "neutral" , "negative" ] } ,
score : { type : "number" , minimum : 0 , maximum : 1 }
} ,
required : [ "review" , "sentiment" , "score" ]
}
}
} ;
const sentiment_analysis = await aiFunction ( options ) ;
console . log ( JSON . stringify ( sentiment_analysis , null , 2 ) ) ;Output yang diharapkan:
[
{
"review" : " The product exceeded my expectations. Great value for money! " ,
"sentiment" : " positive " ,
"score" : 0.9
},
{
"review" : " Disappointed with the quality. Wouldn't recommend. " ,
"sentiment" : " negative " ,
"score" : 0.2
},
{
"review" : " Average product, nothing special but does the job. " ,
"sentiment" : " neutral " ,
"score" : 0.5
}
] const { z } = require ( 'zod' ) ;
const options = {
functionName : 'create_travel_itinerary' ,
model : 'gpt-4o' ,
args : { destination : 'Tokyo' , duration : 3 , interests : [ 'technology' , 'culture' , 'food' ] } ,
description : 'Create a daily travel itinerary for the specified destination and duration, considering the traveler's interests.' ,
outputSchema : z . object ( {
destination : z . string ( ) ,
duration : z . number ( ) . int ( ) ,
daily_plans : z . array ( z . object ( {
day : z . number ( ) . int ( ) ,
activities : z . array ( z . object ( {
time : z . string ( ) ,
activity : z . string ( ) ,
description : z . string ( )
} ) )
} ) )
} )
} ;
const itinerary = await aiFunction ( options ) ;
console . log ( JSON . stringify ( itinerary , null , 2 ) ) ;Output yang diharapkan:
{
"destination" : " Tokyo " ,
"duration" : 3 ,
"daily_plans" : [
{
"day" : 1 ,
"activities" : [
{
"time" : " 09:00 " ,
"activity" : " Visit Akihabara " ,
"description" : " Explore the technology and electronics district, known for its gadgets and anime culture. "
},
{
"time" : " 13:00 " ,
"activity" : " Lunch at a Robot Restaurant " ,
"description" : " Experience a unique dining experience with robot performances. "
},
{
"time" : " 15:00 " ,
"activity" : " Tour the Miraikan Science Museum " ,
"description" : " Discover cutting-edge technology and scientific innovations at this interactive museum. "
}
]
},
{
"day" : 2 ,
"activities" : [
{
"time" : " 10:00 " ,
"activity" : " Visit Senso-ji Temple " ,
"description" : " Explore Tokyo's oldest Buddhist temple and experience traditional Japanese culture. "
},
{
"time" : " 14:00 " ,
"activity" : " Tea Ceremony in Hamarikyu Gardens " ,
"description" : " Participate in a traditional Japanese tea ceremony in a beautiful garden setting. "
},
{
"time" : " 18:00 " ,
"activity" : " Dinner at Tsukiji Outer Market " ,
"description" : " Enjoy fresh sushi and local delicacies at the world-famous fish market area. "
}
]
},
{
"day" : 3 ,
"activities" : [
{
"time" : " 09:00 " ,
"activity" : " Visit teamLab Borderless " ,
"description" : " Immerse yourself in a digital art museum that blends technology and creativity. "
},
{
"time" : " 13:00 " ,
"activity" : " Ramen Tour in Shinjuku " ,
"description" : " Sample various styles of ramen at some of Tokyo's best ramen shops. "
},
{
"time" : " 16:00 " ,
"activity" : " Shopping in Ginza " ,
"description" : " Explore high-end technology stores and experience Japanese retail innovation. "
}
]
}
]
} const options = {
functionName : 'analyze_stock' ,
model : 'gpt-4o' ,
args : { symbol : 'AAPL' , timeframe : '1 year' } ,
description : 'Analyze the stock performance and provide insights based on the given symbol and timeframe.' ,
outputSchema : {
type : "object" ,
properties : {
symbol : { type : "string" } ,
currentPrice : { type : "number" } ,
yearlyPerformance : { type : "number" } ,
technicalIndicators : {
type : "object" ,
properties : {
RSI : { type : "number" } ,
MACD : {
type : "object" ,
properties : {
value : { type : "number" } ,
signal : { type : "number" } ,
histogram : { type : "number" }
} ,
required : [ "value" , "signal" , "histogram" ]
}
} ,
required : [ "RSI" , "MACD" ]
} ,
recommendation : { type : "string" , enum : [ "Buy" , "Hold" , "Sell" ] }
} ,
required : [ "symbol" , "currentPrice" , "yearlyPerformance" , "technicalIndicators" , "recommendation" ]
}
} ;
const stockAnalysis = await aiFunction ( options ) ;
console . log ( JSON . stringify ( stockAnalysis , null , 2 ) ) ;Output yang diharapkan:
{
"symbol" : " AAPL " ,
"currentPrice" : 178.25 ,
"yearlyPerformance" : 0.35 ,
"technicalIndicators" : {
"RSI" : 62.5 ,
"MACD" : {
"value" : 2.1 ,
"signal" : 1.8 ,
"histogram" : 0.3
}
},
"recommendation" : " Buy "
} Contoh -contoh ini menunjukkan cara menggunakan penolong fungsi AI untuk berbagai tugas, dari pembuatan konten hingga analisis data. Setiap contoh termasuk skema outputSchema terperinci (bergantian antara skema JSON dan format ZOD), memastikan output terstruktur dan divalidasi dari model AI.
Gunakan nama fungsi tertentu : Pilih nama fungsi yang jelas dan deskriptif untuk membantu AI memahami konteksnya.
Berikan deskripsi terperinci : Semakin banyak konteks yang Anda berikan dalam deskripsi, semakin baik AI dapat memahami dan melakukan tugas tersebut.
Tentukan skema pengembalian yang tepat : Gunakan skema outputSchema terperinci untuk memastikan Anda mendapatkan struktur data yang tepat yang Anda butuhkan.
Memanfaatkan alat untuk tugas kompleks : untuk tugas yang memerlukan perhitungan spesifik atau data eksternal, tentukan alat khusus untuk menangani aspek -aspek ini.
Tangani kesalahan dengan anggun : Gunakan blok coba-tangkapan dan pertimbangkan untuk mengatur batas waktu yang tepat dan coba lagi nilai untuk penanganan kesalahan yang kuat.
Optimalkan untuk Penggunaan Token : Berhati -hatilah dengan panjang petunjuk Anda dan pertimbangkan untuk menggunakan minifyJSON untuk output besar untuk mengurangi konsumsi token.
Gunakan streaming untuk respons panjang : Untuk tugas yang dapat menghasilkan respons panjang, pertimbangkan untuk menggunakan opsi streaming untuk memproses respons secara real-time.
Leverage Sejarah Percakapan : Untuk interaksi multi-giliran, gunakan opsi history untuk memberikan konteks dari pertukaran sebelumnya.
T: Dapatkah saya menggunakan modul ini dengan penyedia AI lainnya? A: Saat ini, Helper Fungsi AI dirancang untuk bekerja dengan model Openai. Dukungan untuk penyedia lain dapat ditambahkan dalam versi mendatang.
T: Bagaimana saya bisa men -debug jika saya tidak mendapatkan output yang diharapkan? A: Aktifkan debugging dengan mengatur showDebug: true dan menyesuaikan debugLevel . Ini akan memberikan lebih banyak informasi tentang panggilan dan tanggapan API.
T: Apakah modul ini cocok untuk penggunaan produksi? A: Ya, tetapi selalu pastikan Anda memiliki penanganan kesalahan yang tepat dan batasan laju yang ditetapkan oleh OpenAI.
T: Dapatkah saya menggunakan ini untuk streaming data dalam jumlah besar? A: Ya, Anda dapat menggunakan opsi stream untuk menangani respons besar secara efisien.
T: Bagaimana modul menangani tombol API dengan aman? A: Modul tidak menangani penyimpanan kunci API atau keamanan. Adalah tanggung jawab Anda untuk mengelola dan menyediakan kunci API dengan aman saat membuat contoh.
Kami telah melakukan tes ekstensif pada berbagai model AI untuk mengevaluasi kemampuan mereka untuk menghasilkan output JSON dengan kompleksitas yang bervariasi sambil mematuhi format tertentu. Tes -tes ini membantu menunjukkan keserbagunaan dan keandalan modul helper fungsi AI di berbagai model AI.
Untuk memastikan pengujian komprehensif di berbagai model AI, termasuk yang tidak secara langsung disediakan oleh OpenAI, kami menggunakan litellm sebagai proxy. Litellm adalah alat yang kuat yang menyediakan antarmuka terpadu untuk berbagai penyedia AI dan model lokal (melalui Ollama), menawarkan URL titik akhir yang kompatibel dengan openai. Pendekatan ini memungkinkan kami untuk mengintegrasikan dan menguji banyak model AI dengan penolong fungsi AI kami, menunjukkan fleksibilitas dan kompatibilitas yang luas.
| Model | Tingkat keberhasilan | Durasi rata -rata |
|---|---|---|
| Fireworks/llama-V3P1-405B-instruct | 100,00% | 16887.67ms |
| Groq/llama-3.1-70b-versatile | 100,00% | 2154.89ms |
| Claude-3-haiku-20240307 | 100,00% | 3175.72ms |
| GPT-3.5-turbo | 88,89% | 3398.67ms |
| GPT-4O-Mini | 100,00% | 5699.72ms |
| GPT-4O | 100,00% | 5673.00ms |
| Claude-3-5-Sonnet-20240620 | 100,00% | 5940.50ms |
| Gemini-1.5-flash | 88,89% | 5150.00ms |
| Gemini-1.5-Pro | 100,00% | 10066.06ms |
| Gemma2: 9b (ollama) | 100,00% | 13368.94ms |
Tes mencakup berbagai fungsi, dari perhitungan sederhana hingga pembuatan dan analisis data yang kompleks. Beberapa kategori pengujian meliputi:
Untuk hasil terperinci dari setiap test case dan kinerja model, silakan merujuk ke file berikut:
Jika Anda ingin menjalankan tes sendiri atau berkontribusi untuk memperbaikinya, Anda dapat menemukan skrip pengujian di repositori GitHub kami:
Tes -tes ini menunjukkan kemampuan pembantu fungsi AI untuk bekerja dengan berbagai model AI dan menangani berbagai kompleksitas tugas. Mereka juga menunjukkan kemampuan modul untuk menegakkan output terstruktur, membuatnya lebih mudah untuk mengintegrasikan konten yang dihasilkan AI ke dalam aplikasi Anda.
Beberapa tes kompleks "bodoh" dan dirancang untuk mendorong batas model AI. Tes -tes ini tidak dimaksudkan untuk menjadi praktis tetapi lebih untuk menunjukkan kemampuan penolong fungsi AI untuk menangani skenario yang menantang. Sebagian besar tes yang gagal dapat berhasil diselesaikan dengan memberikan model AI lebih banyak konteks atau memperbaiki petunjuk input.
Dengan memanfaatkan Litellm, kami telah memperluas kompatibilitas penolong fungsi AI kami di luar model OpenAI, yang memungkinkan pengguna untuk bekerja dengan beragam penyedia AI dan model lokal sambil mempertahankan antarmuka yang konsisten. Pendekatan ini tidak hanya memperluas penerapan alat kami tetapi juga memberikan pengguna dengan fleksibilitas yang lebih besar dalam memilih model AI yang paling sesuai dengan kebutuhan dan kendala spesifik mereka.
Kontribusi dipersilakan! Jika Anda ingin berkontribusi, silakan bayangkan repositori dan gunakan cabang fitur. Permintaan tarik sangat disambut dengan hangat.
AI Function Helper adalah perangkat lunak bersumber terbuka yang dilisensikan di bawah lisensi MIT.