mirror of
https://github.com/foss42/apidash.git
synced 2025-12-09 14:40:20 +08:00
genai: Example Project added + README
This commit is contained in:
59
packages/genai/example/README.md
Normal file
59
packages/genai/example/README.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# GenAI Example
|
||||
|
||||
This project is a simple demonstration of how to use the GenAI package
|
||||
|
||||
### Fetch all available Remote LLMs
|
||||
```dart
|
||||
await LLMManager.fetchAvailableLLMs();
|
||||
```
|
||||
|
||||
### Getting LLM Models for a given Provider
|
||||
```dart
|
||||
final List<LLMModel> models = LLMProvider.gemini.models;
|
||||
```
|
||||
|
||||
### Calling a GenAI Model using the provided helper
|
||||
```dart
|
||||
final LLMModel geminiModel = LLMProvider.gemini.getLLMByIdentifier('gemini-2.0-flash');
|
||||
final ModelController controller = model.provider.modelController;
|
||||
GenerativeAI.callGenerativeModel(
|
||||
geminiModel,
|
||||
onAnswer: (x) {
|
||||
print(x);
|
||||
},
|
||||
onError: (e){},
|
||||
systemPrompt: 'Give a 100 word summary of the provided word. Only give the answer',
|
||||
userPrompt: 'Pizza',
|
||||
credential: 'AIza.....',
|
||||
);
|
||||
```
|
||||
|
||||
### Calling a GenAI model (with Streaming)
|
||||
```dart
|
||||
final LLMModel geminiModel = LLMProvider.gemini.getLLMByIdentifier('gemini-2.0-flash');
|
||||
final ModelController controller = model.provider.modelController;
|
||||
GenerativeAI.callGenerativeModel(
|
||||
geminiModel,
|
||||
onAnswer: (x) {
|
||||
stdout.write(x); //each word in the stream
|
||||
},
|
||||
onError: (e){},
|
||||
systemPrompt: 'Give a 100 word summary of the provided word. Only give the answer',
|
||||
userPrompt: 'Pizza',
|
||||
credential: 'AIza.....',
|
||||
stream: true,
|
||||
);
|
||||
```
|
||||
|
||||
### Directly Using a Model (eg: Gemini)
|
||||
```dart
|
||||
final LLMModel model = LLMProvider.gemini.getLLMByIdentifier('gemini-2.0-flash');
|
||||
final ModelController controller = model.provider.modelController;
|
||||
final payload = controller.inputPayload;
|
||||
payload.systemPrompt = 'Say YES or NO';
|
||||
payload.userPrompt = 'The sun sets in the west';
|
||||
payload.credential = 'AIza....';
|
||||
final genAIRequest = controller.createRequest(model, payload);
|
||||
final answer = await GenerativeAI.executeGenAIRequest(model, genAIRequest);
|
||||
print(answer)
|
||||
```
|
||||
Reference in New Issue
Block a user