No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

ChatGPT

7/21
Recursos

Aportes 6

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

El código del curso ya se encuentra desactualizado lo cual es una pena por que quita un poco el ritmo. Entonces que hay que refactorizarlo teniendo en cuenta la documentación. Por ejemplo, para esta función, sería asi: def get\_completion\_from\_messages(messages, model=chat\_model, temperature=0):        response = client.chat.completions.create(        model=model, # model = "deployment\_name".        messages=messages    )    return response.choices\[0].message.content
Mi aporte para los C# Devs (chatbot en consola): ```js // Note: The Azure OpenAI client library for .NET is in preview. // Install the .NET library via NuGet: dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.5 using Azure; using Azure.AI.OpenAI; using Microsoft.CognitiveServices.Speech; using Microsoft.CognitiveServices.Speech.Audio; using System.Runtime.CompilerServices; // setup speech configuration // SPEECH_API_KEY is they key of the speech resource string speechApiKey = "YOUR_KEY"; var speechConfig = SpeechConfig.FromSubscription(speechApiKey, "eastus"); // Get the text from the microphone //speechConfig.SpeechRecognitionLanguage = "es-CO"; //using var audioConfig = AudioConfig.FromDefaultMicrophoneInput(); //using var recognizer = new SpeechRecognizer(speechConfig, audioConfig); //Console.WriteLine("Initializing...\n"); //var speechResult = await recognizer.RecognizeOnceAsync(); //if (speechResult.Reason == ResultReason.RecognizedSpeech) //{ // messages.Add(new ChatMessage(ChatRole.User, speechResult.Text)); //} string azureOpenAiApiKey = "YOUR_KEY"; OpenAIClient client = new OpenAIClient( new Uri("https://your-uri.openai.azure.com/"), new AzureKeyCredential(azureOpenAiApiKey)); string context = """ Tú eres un asistente virtual que ayuda a reportar problemas técnicos en una empresa de servicios de internet. Tu trabajo es hacer una serie de preguntas al cliente que reporta daños para identificar el problema y generar un ticket de servicio. Proceso de pensamiento: [Paso 1]: identificar el [cliente] dueño del servicio. [Paso 2]: identificar [dirección] donde se encuentra el servicio [Paso 3]: entender la [causa] del problema [Paso 4]: generar un texto de un email que cree un ticket de solicitud de servicio para atender al cliente [Paso 5]: mostrar al cliente el email que se le enviará para confirmar el ticket de servicio que se ha generado Cuando el usuario inicia la conversación, el asistente virtual debe presentarse y hacer la primera pregunta (paso 1) y nada más, de manera simple y sencilla. """; IList<ChatMessage> messages = new List<ChatMessage> { new ChatMessage(ChatRole.System, context), }; var chatCompletitionsOptions = new ChatCompletionsOptions() { Temperature = (float)0.7, MaxTokens = 800, NucleusSamplingFactor = (float)0.95, FrequencyPenalty = 0, PresencePenalty = 0, }; foreach (var message in messages) { chatCompletitionsOptions.Messages.Add(message); } Response<ChatCompletions> responseWithoutStream = await client.GetChatCompletionsAsync( "gpt35-turbo", chatCompletitionsOptions ); ChatCompletions response = responseWithoutStream.Value; //foreach (var choice in response.Choices) //{ //} Console.WriteLine("============================================="); Console.WriteLine("¡Welcome to Chatbot by Clouding Studio!"); Console.WriteLine("=============================================\n"); Console.WriteLine($"{response.Choices.First().Message.Role.ToString().ToUpper()}: {response.Choices.First().Message.Content}"); while (true) { Console.Write("\nYOU (type Q to finish): "); var input = Console.ReadLine(); if (input == null) { continue; } else if (input.ToLower() == "q") { break; } response = await sendMessage(input, response); Console.WriteLine($"\n{response.Choices.First().Message.Role.ToString().ToUpper()}: {response.Choices.First().Message.Content}"); } async Task<Response<ChatCompletions>> sendMessage(string message, ChatCompletions? lastResponse = null) { messages.Clear(); if (lastResponse == null) { messages.Add(new ChatMessage(ChatRole.User, message)); } else { messages.Add(new ChatMessage(ChatRole.Assistant, lastResponse.Choices.First().Message.Content)); messages.Add(new ChatMessage(ChatRole.User, message)); } var chatCompletitionsOptions = new ChatCompletionsOptions() { Temperature = (float)0.7, MaxTokens = 800, NucleusSamplingFactor = (float)0.95, FrequencyPenalty = 0, PresencePenalty = 0, }; foreach (var m in messages) { chatCompletitionsOptions.Messages.Add(m); } Response<ChatCompletions> responseWithoutStream = await client.GetChatCompletionsAsync( "gpt35-turbo", chatCompletitionsOptions ); //ChatCompletions response = responseWithoutStream.Value; return responseWithoutStream; } ```
Buenas tarde, La profesora habla de que los codigos se encuentran en los repositorios, pero no se donde encontrar esos repoitorios. Por favor me dan la ruta para entrar.
**Enseñando a Pensar a Nuestro Modelo de GPT para Asistencia Virtual** En el mundo de la inteligencia artificial, la capacidad de enseñar a un modelo a pensar y actuar de acuerdo con nuestras expectativas es fundamental. Esto es especialmente cierto en el ámbito de los asistentes virtuales, donde se espera que el modelo no solo comprenda las instrucciones, sino que también ejecute tareas de manera eficiente y efectiva. En esta clase, exploraremos cómo podemos entrenar a nuestro modelo de GPT para que se comporte de la manera deseada en un escenario específico. **Identificación de Tareas y Construcción de Programas** El primer paso es identificar claramente las tareas que el modelo debe resolver. Esto nos permite construir un programa que guíe al asistente virtual hacia el comportamiento deseado. Utilizaremos un SDK y un notebook de Júpiter para interactuar con el modelo y probar diferentes peticiones. Configuraremos los datos sensibles como el endpoint, la API key, la versión y el modelo desplegado, y los guardaremos en las variables de entorno del nodo. **Creación de Contexto y Descomposición de Problemas** Para enseñar al modelo a “pensar”, especificaremos instrucciones que le permitan razonar y actuar de acuerdo con nuestras necesidades. Tomemos, por ejemplo, un asistente virtual diseñado para gestionar los PQRS de una empresa de servicios de internet. Este asistente deberá ser capaz de comunicarse con los clientes, tomar reportes de daños y, si es necesario, solicitar información adicional para crear un PQR. Descompondremos el problema en pasos: 1. **Identificar al cliente y el servicio afectado.** 2. **Determinar la dirección y la causa del problema.** 3. **Generar un texto o email que notifique la atención del PQR.** **Interacción con el Modelo y Configuración de Conversaciones** Con el contexto ya creado, procederemos a interactuar con el modelo de GPT. Configuraremos una conversación donde el asistente virtual primero intentará identificar al cliente y luego solicitará la información necesaria para resolver el problema. A través de interacciones sucesivas, el modelo aprenderá a generar respuestas adecuadas y a crear un PQR efectivo. **Implementación y Pruebas** Una vez verificado que el asistente virtual se comporta según lo requerido, utilizaremos este contexto para configurar y desplegar nuestro chatbot en OpenAI Studio. Este proceso nos permitirá tener interacciones reales con el chatbot y ajustar su comportamiento según sea necesario. **Conclusión** La creación de un contexto detallado y la interacción estratégica con el modelo son clave para desarrollar un asistente virtual que cumpla con nuestras expectativas. Te animamos a crear tu propio contexto o a probar el escenario que hemos desarrollado para experimentar con la configuración y el comportamiento de tu asistente virtual basado en GPT.
Hola, para usarlo en colab, tuve que instalar primero load\_dotenv y openai: pip install openai` `pip install load\_dotenv
Aqui hubiera sido bueno mostrar las variables de entorno y los errores como ![](https://static.platzi.com/media/user_upload/image-092c1539-ef6d-4b26-b08e-dcca3b9c85d4.jpg) Sí ya seguí <https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/migration?tabs=python-new%2Cdalle-fix> <https://github.com/openai/openai-python/discussions/742> y todavia la lib openai genera un error cuando ejecuto response = get\_completion\_from\_messages(conversation) APIRemovedInV1 Traceback (most recent call last) Cell In\[53], [line 3](vscode-notebook-cell:?execution_count=53\&line=3) [1](vscode-notebook-cell:?execution_count=53\&line=1) conversation=\[{"role": "system", "content": context}] \----> [3](vscode-notebook-cell:?execution_count=53\&line=3) response = get\_completion\_from\_messages(conversation) [4](vscode-notebook-cell:?execution_count=53\&line=4) # print(response) Cell In\[51], [line 22](vscode-notebook-cell:?execution_count=51\&line=22) [21](vscode-notebook-cell:?execution_count=51\&line=21) def get\_completion\_from\_messages(messages, model=chat\_model, temperature=0): \---> [22](vscode-notebook-cell:?execution_count=51\&line=22) response = openai.ChatCompletion.create( [23](vscode-notebook-cell:?execution_count=51\&line=23) engine=model, [24](vscode-notebook-cell:?execution_count=51\&line=24) messages=messages, [25](vscode-notebook-cell:?execution_count=51\&line=25) temperature=temperature [26](vscode-notebook-cell:?execution_count=51\&line=26) ) [28](vscode-notebook-cell:?execution_count=51\&line=28) return response.choices\[0].message\["content"] File [c:\Python312\Lib\site-packages\openai\lib\\\_old\_api.py:39](file:///C:/Python312/Lib/site-packages/openai/lib/_old_api.py:39), in APIRemovedInV1Proxy.\_\_call\_\_(self, \*\_args, \*\*\_kwargs) [38](file:///C:/Python312/Lib/site-packages/openai/lib/_old_api.py:38) def \_\_call\_\_(self, \*\_args: Any, \*\*\_kwargs: Any) -> Any: \---> [39](file:///C:/Python312/Lib/site-packages/openai/lib/_old_api.py:39) raise APIRemovedInV1(symbol=self.\_symbol)