Search  
Always will be ready notify the world about expectations as easy as possible: job change page
Jan 28, 2023

Adding ChatGPT to your .NET 7 application

Author:
Rokas
Source:
Views:
1795

Prerequisites: VSCode and .Net 7 installed. Don't need to copy the code, GitHub link provided in the end.

Open up a terminal in VSCode or any IDE of your choice, run:

dotnet new console

2 files will appear, default Program.cs and .csproj named according to your folder:

Now let's create a file called OpenAIResponse.cs and start filling in the objects.


Main response object


Text response and usage objects

We will use these objects to translate the open AI response to C# object oriented language.

Time to call the API!

Get your API Key from https://beta.openai.com/account/api-keys

Create new secret key, copy & paste it into the project.

Now let's set up the main function:


The entire function to call Open AI

Let's go through each part, firstly lets look at the function signature:


Function signature

Open AI requires a fairly large amount of settings to be specified in order to provide us with the expected result, we are passing them through the function signature, the comments explain each individual parameter.


Setup for the request

Then we have the setup for the request, essentially the request requires:

  • The API Key (used for authorization).
  • The Call URL (used to direct the request).
  • The Content (used to setup the parameters of the request).


Parse the response

After the setup we just send the request and read it into our prepared class.

Alright, everything is set up, let's call it! (Don't forget to set the API Key to yours)


The default playground settings

Now in your terminal just run:

dotnet run

And after inputting a question you should receive an answer.

You can find all the source files here: https://github.com/RokasMarcinkevicius/ChatGPT

Similar
Apr 8
Author: Dev Leader
async void methods in C# are a source of a lot of problems for many developers getting into writing async await code. The pattern that we’re suggested to use is of course async Task, but there are cases — like...
Feb 2
With the release of C# 10 in November 2021 developers were introduced to a new concept called records, in this post I’ll outline some of the key differences between records and classes.For this comparison I’ll only consider the default/common approach...
May 14, 2023
Author: Ravi Raghav
What is Kafka?Kafka is a distributed streaming platform developed by the Apache Software Foundation. It is designed to handle high-volume, real-time data streams and is commonly used for building data pipelines, stream processing applications, and real-time analytics.At its core, Kafka...
Aug 22, 2021
The following are a set of best practices for using the HttpClient object in .NET Core when communicating with web APIs. Note that probably not all practices would be recommended in all situations. There can always be good reasons to...
Send message
Email
Your name
*Message


© 1999–2024 WebDynamics
1980–... Sergey Drozdov
Area of interests: .NET Framework | .NET Core | C# | ASP.NET | Windows Forms | WPF | HTML5 | CSS3 | jQuery | AJAX | Angular | React | MS SQL Server | Transact-SQL | ADO.NET | Entity Framework | IIS | OOP | OOA | OOD | WCF | WPF | MSMQ | MVC | MVP | MVVM | Design Patterns | Enterprise Architecture | Scrum | Kanban