|
- // Copyright (c) Microsoft Corporation. All rights reserved.
- // Chat_With_LLaVA.cs
-
- #region Using
- using AutoGen.Core;
- using AutoGen.Ollama.Extension;
- #endregion Using
-
- namespace AutoGen.Ollama.Sample;
-
- public class Chat_With_LLaVA
- {
- public static async Task RunAsync()
- {
- #region Create_Ollama_Agent
- using var httpClient = new HttpClient()
- {
- BaseAddress = new Uri("http://localhost:11434"),
- };
-
- var ollamaAgent = new OllamaAgent(
- httpClient: httpClient,
- name: "ollama",
- modelName: "llava:latest",
- systemMessage: "You are a helpful AI assistant")
- .RegisterMessageConnector()
- .RegisterPrintMessage();
- #endregion Create_Ollama_Agent
-
- #region Send_Message
- var image = Path.Combine("resource", "images", "background.png");
- var binaryData = BinaryData.FromBytes(File.ReadAllBytes(image), "image/png");
- var imageMessage = new ImageMessage(Role.User, binaryData);
- var textMessage = new TextMessage(Role.User, "what's in this image?");
- var reply = await ollamaAgent.SendAsync(chatHistory: [textMessage, imageMessage]);
- #endregion Send_Message
-
- #region Send_MultiModal_Message
- // You can also use MultiModalMessage to put text and image together in one message
- // In this case, all the messages in the multi-modal message will be put into single piece of message
- // where the text is the concatenation of all the text messages seperated by \n
- // and the images are all the images in the multi-modal message
- var multiModalMessage = new MultiModalMessage(Role.User, [textMessage, imageMessage]);
-
- reply = await ollamaAgent.SendAsync(chatHistory: [multiModalMessage]);
- #endregion Send_MultiModal_Message
- }
- }
|