AI -Funktion Helfer ist ein leistungsstarkes Node.JS -Modul, das die Integration der GPT -Modelle von OpenAI in Ihre Anwendungen vereinfacht. Es bietet eine strukturierte Möglichkeit, mit KI -Modellen zu interagieren und konsistente und formatierte Antworten zu gewährleisten.
Installieren Sie die AI -Funktion Helfer mit NPM:
npm install ai-function-helperHier ist ein einfaches Beispiel, um Ihnen den Einstieg zu erleichtern:
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 ) ) ; Um die AI -Funktion Helfer zu verwenden, müssen Sie zunächst eine Instanz mit Ihrem OpenAI -API -Schlüssel erstellen:
const { createAiFunctionInstance } = require ( 'ai-function-helper' ) ;
const aiFunction = createAiFunctionInstance ( 'your_api_key_here' ) ;Sie können auch eine benutzerdefinierte Endpunkt -URL verwenden:
const aiFunction = createAiFunctionInstance ( 'your_api_key_here' , 'https://api.openai.com/v1' ) ;Alternativ können Sie eine vorhandene OpenAI -Instanz verwenden:
const OpenAI = require ( 'openai' ) ;
const openai = new OpenAI ( { apiKey : 'your_api_key_here' } ) ;
const aiFunction = createAiFunctionInstance ( openai ) ;Sobald Sie eine Instanz haben, können Sie KI -Funktionen anrufen, indem Sie Optionen bereitstellen:
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" ]
}
} ) ; Die aiFunction nimmt ein Optionsobjekt mit den folgenden Eigenschaften an:
| Option | Typ | Beschreibung | Standard |
|---|---|---|---|
functionName | Saite | Name der KI -Funktion | 'custom_function' |
args | Objekt/Zeichenfolge | Argumente für die Funktion | - - |
description | Saite | Beschreibung des Zwecks der Funktion | - - |
outputSchema | Objekt | Erwarteter Rückgabetyp (JSON -Schema oder ZOD -Schema) | - - |
strictReturn | boolean | Durchsetzen | true |
showDebug | boolean | Debugginformationen zur Konsole drucken | false |
debugLevel | Nummer | Stufe der Debug-Informationen (0-2) | 0 |
temperature | Nummer | Probenahmetemperatur für das KI -Modell | 0.6 |
frequency_penalty | Nummer | Frequenzstrafe für das KI -Modell | 0 |
presence_penalty | Nummer | Präsenzstrafe für das KI -Modell | 0 |
model | Saite | KI -Modell zu verwenden | 'gpt-4o-mini' |
max_tokens | Nummer | Maximale Anzahl von Token zu generieren | 1000 |
top_p | Nummer | Top -P -Wert für das KI -Modell | null |
blockHijack | boolean | Verhindern Sie eine schnelle Entführung | false |
blockHijackThrowError | boolean | Wirf Fehler beim Entführungsversuch ein | false |
tools | Array | Helferfunktionen, die innerhalb der Hauptfunktion verwendet werden sollen | [] |
stream | boolean | Response Streaming aktivieren | false |
streamCallback | Funktion | Rückruf für gestreamtete Antworten | null |
promptVars | Objekt | Variablen, die in der Eingabeaufforderung verwendet werden sollen | {} |
images | String/Array | Bild -URL (en) für Visionsmodelle | null |
imageQuality | Saite | Qualität des Bildes für Visionsmodelle | 'low' |
minifyJSON | boolean | JSON -Ausgabe minifieren | false |
history | Array | Gesprächsgeschichte für Kontext | [] |
forceJsonMode | boolean | Erzwingen Sie den JSON-Modus für Nicht-JSON-Modelle | false |
timeout | Nummer | Zeitüberschreitung für API -Anrufe (in Millisekunden) | 120000 |
maxRetries | Nummer | Maximale Anzahl von Wiederholungen für API -Anrufe | 0 |
includeThinking | boolean | Fügen Sie den Denkprozess von AI in Debug -Ausgabe ein | false |
OutputSchema : Definiert die erwartete Struktur der Ausgabe der KI -Funktion mit JSON -Schema oder ZOD -Schema. Dies stellt sicher, dass das KI -Modell Daten im Format zurückgibt, das Ihre Anwendung erwartet.
Werkzeuge : Eine Reihe von Helferfunktionen, die in der Haupt -KI -Funktion verwendet werden können. Jedes Tool ist ein Objekt mit name , function_call , description und parameters .
BlockHijack : Wenn dies aktiviert ist, verhindert diese Funktion das KI -Modell daran, Anweisungen in Benutzernachrichten zu folgen, die versuchen, das beabsichtigte Verhalten der Funktion zu überschreiben.
promptVARS : Ermöglicht Ihnen, Variablen zu definieren, die in der Funktionsbeschreibung ersetzt werden, und bietet mehr Flexibilität bei der Eingabeaufforderung.
Bilder : Ermöglicht die Verwendung von Bildeingaben für sehkundige Modelle und erweitert die Aufgabenarten, die die KI ausführen kann.
Inklusive : Wenn sie auf true gesetzt sind, enthält diese Option den Denkprozess der KI in der Debug -Ausgabe und gibt Einblicke in die KI, die zu ihren Schlussfolgerungen kommt. Dies ist besonders nützlich für komplexe Aufgaben zur Problemlösung und das Debuggen.
Mit der Option includeThinking können Sie den Denkprozess der KI erfassen, bevor sie die endgültige Ausgabe erzeugt. Diese Funktion bietet mehrere Vorteile:
Verbesserte Reaktionsqualität : Durch "Denken" vor der Reaktion kann die KI ihre Gedanken organisieren und kohärentere und gut strukturierte Antworten liefern.
Transparenz : Sie können die Argumentation hinter den Antworten der KI sehen, was zum Debuggen und Verständnis der KI nützlich ist.
Debugging AID : Der Denkprozess kann von unschätzbarem Wert sein, wenn Sie Eingabeaufforderungen oder Fehlerbehebung bei unerwarteten Ausgaben beheben.
Wenn es aktiviert ist, ist der Denkprozess der KI in der Debug -Ausgabe enthalten, wird jedoch nicht als Teil des Endergebnisses zurückgegeben. Hier erfahren Sie, wie man es benutzt:
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 ) ; In der Debug -Ausgabe sehen Sie den Denkprozess in <|start_of_thinking|> und <|end_of_thinking|> Tags. Zum Beispiel:
--- 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
}
Beachten Sie, dass der Denkprozess nur in der Debug -Ausgabe sichtbar ist und sich nicht auf die Struktur oder den Inhalt des zurückgegebenen Ergebnisses auswirkt. Diese Funktion ist besonders nützlich für komplexe Aufgaben, bei denen das Verständnis der Argumentation der KI zu besseren technischen und genaueren Ergebnissen führen kann.
In diesem Beispiel können wir sehen, wie die KI die komplexe Berechnung in überschaubare Schritte unterteilt, um das Ergebnis zu überprüfen und den Ansatz zur Problemlösung zu verstehen. Dieses Detailniveau im Denkprozess kann besonders wertvoll für das Debuggen, die Bildung oder wenn die Schritte zur Schlussfolgerung genauso wichtig sind wie die endgültige Antwort selbst.
Aktivieren von Streaming, um Antworten in Echtzeit zu verarbeiten:
const options = {
// ... other options ...
stream : true ,
streamCallback : ( chunk ) => {
console . log ( 'Received chunk:' , chunk ) ;
}
} ; Mit der Streaming-Funktion können Sie KI-Antworten in Echtzeit verarbeiten, was besonders für langjährige Aufgaben oder wenn Sie den Benutzern ein sofortiges Feedback geben möchten. Hier ist ein Beispiel für die Verwendung der stream -Option mit einem 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 ( ) ;In diesem Beispiel:
stream: true in den Optionen, um das Streaming zu aktivieren.streamCallback -Funktion, die bei der Ankunft der Antwort die Reaktion empfängt.Mit diesem Ansatz können Sie die Antwort der KI in Echtzeit bewältigen, was für:
Denken Sie daran, dass das durch aiFunction zurückgegebene Endergebnis beim Streaming die vollständige Antwort ist, sodass Sie es bei Bedarf trotzdem verwenden können.
Definieren Sie Helferfunktionen, die in Ihrer Haupt -KI -Funktion verwendet werden sollen:
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" }
}
}
}
]
} ;Aktivieren Sie den Schutz vor sofortiger Entführung:
const options = {
// ... other options ...
blockHijack : true ,
blockHijackThrowError : true // Optional: throw error instead of returning a message
} ;Für sehkapazierbare Modelle können Sie Bildeingaben einbeziehen:
const options = {
// ... other options ...
images : 'https://example.com/image.jpg' ,
// Or
images : [ 'https://example.com/image1.jpg' , 'https://example.com/image2.jpg' ] ,
imageQuality : 'high'
} ;Geben Sie einen Kontext aus früheren Interaktionen an:
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?" }
]
} ; Hier sind einige ansprechende Beispiele, die die Vielseitigkeit und Leistung des aiFunction -Moduls zeigen:
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 ) ) ;Erwartete Ausgabe:
[
{
"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 ) ) ;Erwartete Ausgabe:
{
"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 ) ) ;Erwartete Ausgabe:
[
{
"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 ) ) ;Erwartete Ausgabe:
{
"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 ) ) ;Erwartete Ausgabe:
{
"symbol" : " AAPL " ,
"currentPrice" : 178.25 ,
"yearlyPerformance" : 0.35 ,
"technicalIndicators" : {
"RSI" : 62.5 ,
"MACD" : {
"value" : 2.1 ,
"signal" : 1.8 ,
"histogram" : 0.3
}
},
"recommendation" : " Buy "
} Diese Beispiele zeigen, wie die KI -Funktion Helfer für verschiedene Aufgaben verwendet wird, von der Inhaltsgenerierung bis zur Datenanalyse. Jedes Beispiel enthält ein detailliertes outputSchema -Schema (abwechselnd zwischen JSON -Schema und ZOD -Formaten), um die strukturierte und validierte Ausgabe aus dem KI -Modell zu gewährleisten.
Verwenden Sie bestimmte Funktionsnamen : Wählen Sie klare und beschreibende Funktionsnamen, um der KI zu helfen, den Kontext zu verstehen.
Geben Sie detaillierte Beschreibungen an : Je mehr Kontext Sie in der Beschreibung angeben, desto besser kann die KI die Aufgabe verstehen und ausführen.
Definieren Sie präzise Rückgabebereich : Verwenden Sie detaillierte outputSchema , um sicherzustellen, dass Sie die genaue Datenstruktur erhalten, die Sie benötigen.
Verwenden Sie Tools für komplexe Aufgaben : Definieren Sie für Aufgaben, die spezifische Berechnungen oder externe Daten erfordern, benutzerdefinierte Tools, um diese Aspekte zu verarbeiten.
Fehler ordnungsgemäß behandeln : Verwenden Sie Try-Catch-Blöcke und sollten Sie geeignete Zeitüberschreitungs- und Wiederholungswerte für eine robuste Fehlerbehandlung festlegen.
Optimieren Sie die Nutzung des Tokens : Beachten Sie die Länge Ihrer Eingabeaufforderungen und überlegen Sie, ob Sie minifyJSON für große Ausgaben zur Reduzierung des Tokenverbrauchs verwenden können.
Verwenden Sie Streaming für lange Antworten : Bei Aufgaben, die möglicherweise lange Antworten generieren können, sollten Sie die Option Streaming verwenden, um die Antwort in Echtzeit zu verarbeiten.
Nutzen Sie den Gesprächsverlauf : Verwenden Sie für Interaktionen mit mehreren Turns die Option history , um einen Kontext aus früheren Börsen bereitzustellen.
F: Kann ich dieses Modul mit anderen KI -Anbietern verwenden? A: Derzeit ist der AI -Funktion Helfer so konzipiert, dass er mit den Modellen von OpenAI zusammenarbeitet. Unterstützung für andere Anbieter kann in zukünftigen Versionen hinzugefügt werden.
F: Wie kann ich debuggen, wenn ich nicht die erwartete Ausgabe erhalte? A: Aktivieren Sie das Debugging, indem Sie showDebug: true und Anpassung des debugLevel . Dies liefert weitere Informationen zu den API -Anrufen und -Anantworten.
F: Ist dieses Modul für die Produktionsanwendung geeignet? A: Ja, aber stellen Sie immer sicher, dass Sie die von OpenAI festgelegten Fehlerbeschränkungen für Fehlerbehandlungen und Respektrate haben.
F: Kann ich dies zum Streamieren großer Datenmengen verwenden? A: Ja, Sie können die stream -Option zum effizienten Umgang mit großen Antworten verwenden.
F: Wie handelt das Modul mit API -Schlüssel sicher? A: Das Modul verwaltet den API -Schlüsselspeicher oder -sicherheit nicht. Es liegt in Ihrer Verantwortung, beim Erstellen einer Instanz den API -Schlüssel sicher zu verwalten und bereitzustellen.
Wir haben umfangreiche Tests an verschiedenen KI -Modellen durchgeführt, um ihre Fähigkeit zu bewerten, JSON -Ausgänge unterschiedlicher Komplexität zu generieren und gleichzeitig an bestimmte Formate zu haften. Diese Tests tragen dazu bei, die Vielseitigkeit und Zuverlässigkeit des AI -Funktionshelfermoduls über verschiedene KI -Modelle hinweg zu demonstrieren.
Um umfassende Tests in einer Vielzahl von KI -Modellen zu gewährleisten, einschließlich solcher, die nicht direkt von OpenAI zur Verfügung stehen, haben wir LitellM als Proxy verwendet. Litellm ist ein leistungsstarkes Tool, das eine einheitliche Schnittstelle für verschiedene KI-Anbieter und lokale Modelle (über Ollama) bietet und eine OpenAI-kompatible Endpunkt-URL bietet. Dieser Ansatz ermöglichte es uns, mehrere KI -Modelle nahtlos in unseren KI -Funktionshelfer zu integrieren und zu testen, was seine Flexibilität und breite Kompatibilität demonstriert.
| Modell | Erfolgsrate | Durchschnittliche Dauer |
|---|---|---|
| Fireworks/Lama-V3P1-405B-Instruct | 100,00% | 16887.67ms |
| COQ/LLAMA-3.1-70B-ESSATIL | 100,00% | 2154.89ms |
| Claude-3-Haiku-20240307 | 100,00% | 3175.72 ms |
| GPT-3,5-Turbo | 88,89% | 3398.67ms |
| GPT-4O-Mini | 100,00% | 5699.72 ms |
| gpt-4o | 100,00% | 5673,00 ms |
| Claude-3-5-SONNET-20240620 | 100,00% | 5940,50 ms |
| Gemini-1.5-Flash | 88,89% | 5150.00 ms |
| Gemini-1.5-pro | 100,00% | 10066.06ms |
| Gemma2: 9b (Ollama) | 100,00% | 13368.94ms |
Die Tests decken einen weiten Bereich von Funktionen ab, von einfachen Berechnungen bis hin zur komplexen Datenerzeugung und -analyse. Einige der Testkategorien umfassen:
Ausführliche Ergebnisse jedes Testfalls und der Modellleistung finden Sie unter den folgenden Dateien:
Wenn Sie die Tests selbst ausführen oder zur Verbesserung beitragen möchten, finden Sie das Testskript in unserem Github -Repository:
Diese Tests zeigen die Fähigkeit des KI -Funktion Helper, mit verschiedenen KI -Modellen zu arbeiten und eine breite Palette von Aufgabenkomplexität zu bewältigen. Sie zeigen auch die Fähigkeit des Moduls, strukturierte Outputs durchzusetzen, und erleichtern die Integration von AI-generierten Inhalten in Ihre Anwendungen.
Einige Tests sind "dumm" komplex und sind so konzipiert, dass sie die Grenzen der KI -Modelle überschreiten. Diese Tests sollen nicht praktisch sein, sondern um die Fähigkeit des KI -Funktion Helper zu demonstrieren, herausfordernde Szenarien zu bewältigen. Die meisten fehlgeschlagenen Tests können erfolgreich abgeschlossen werden, indem dem KI -Modell mehr Kontext oder die Eingabeaufforderungen verfeinert werden.
Durch die Nutzung von LitellM haben wir die Kompatibilität unseres KI -Funktionshelfers über OpenAI -Modelle hinaus erweitert, sodass Benutzer mit einer Vielzahl von AI -Anbietern und lokalen Modellen arbeiten und gleichzeitig eine konsistente Schnittstelle aufrechterhalten können. Dieser Ansatz erweitert nicht nur die Anwendbarkeit unseres Tools, sondern bietet Benutzern auch eine größere Flexibilität bei der Auswahl der KI -Modelle, die ihren spezifischen Bedürfnissen und Einschränkungen am besten entsprechen.
Beiträge sind willkommen! Wenn Sie einen Beitrag leisten möchten, geben Sie bitte das Repository aus und verwenden Sie eine Feature -Filiale. Zuganfragen sind herzlich willkommen.
AI FUNKTION HELPER ist Open-Sourcing-Software, die unter der MIT-Lizenz lizenziert wurde.