Added auth.
This commit is contained in:
		
							parent
							
								
									c05edc45d9
								
							
						
					
					
						commit
						413c3b9599
					
				
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -2,8 +2,6 @@ | |||||||
| .venv | .venv | ||||||
| .history | .history | ||||||
| .backup* | .backup* | ||||||
| auth.h  |  | ||||||
| context.txt |  | ||||||
| gpt | gpt | ||||||
| gpt.c | gpt.c | ||||||
| r | r | ||||||
|  | |||||||
							
								
								
									
										15
									
								
								.rcontext.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								.rcontext.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,15 @@ | |||||||
|  | Alle vragen die je krijgt en beantwoordt, worden behandeld in de context van de programmeertalen C of Python. | ||||||
|  | Alle voorbeelden die je geeft, moeten in een van deze programmeertalen zijn. | ||||||
|  | 
 | ||||||
|  | Geef in elk antwoord aan of de gekozen taal de juiste keuze is voor het beschreven probleem. Noem één alternatief als dat niet het geval is. | ||||||
|  | 
 | ||||||
|  | Als je wordt gevraagd om een review te doen: | ||||||
|  |  - Geef de broncode een cijfer tussen 0 en 10.  | ||||||
|  |  - Geef een korte samenvatting van je review. | ||||||
|  |  - Noem drie verbeterpunten voor de broncode. | ||||||
|  |  - Noem drie sterke punten van de broncode. | ||||||
|  | 
 | ||||||
|  | Als je wordt gevraagd om te controleren op AI-gebruik: | ||||||
|  |  - Verdeel de broncode in categorieën. | ||||||
|  |   - Wijs elke categorie een percentage van AI-gebruik toe. | ||||||
|  |   - Geef een conclusie over de authenticiteit van de code. | ||||||
							
								
								
									
										24
									
								
								auth.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								auth.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | |||||||
|  | // Written by retoor@molodetz.nl
 | ||||||
|  | 
 | ||||||
|  | // This source code declares a constant character pointer variable with a value representing an API key.
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | // MIT License
 | ||||||
|  | 
 | ||||||
|  | #include <stdlib.h> | ||||||
|  | 
 | ||||||
|  | const char * resolve_api_key(){ | ||||||
|  |     char * api_key = getenv("R_KEY"); | ||||||
|  |     if(api_key) | ||||||
|  |     { | ||||||
|  |         return api_key; | ||||||
|  |     } | ||||||
|  |     api_key = getenv("OPENAI_API_KEY"); | ||||||
|  |     if(api_key) | ||||||
|  |     { | ||||||
|  |         return api_key; | ||||||
|  |     } | ||||||
|  |     fprintf(stderr, "There is no API key configured in environment."); | ||||||
|  |     return ""; | ||||||
|  | } | ||||||
							
								
								
									
										4
									
								
								http.h
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								http.h
									
									
									
									
									
								
							| @ -103,7 +103,7 @@ char *http_post(const char *hostname, char *url, char *data) { | |||||||
|                 "Host: api.openai.com\r\n" |                 "Host: api.openai.com\r\n" | ||||||
|                 "Authorization: Bearer %s\r\n" |                 "Authorization: Bearer %s\r\n" | ||||||
|                 "Connection: close\r\n\r\n%s", |                 "Connection: close\r\n\r\n%s", | ||||||
|                 url, len, api_key, data); |                 url, len, resolve_api_key(), data); | ||||||
|          |          | ||||||
|         SSL_write(ssl, request, strlen(request)); |         SSL_write(ssl, request, strlen(request)); | ||||||
|         free(request); |         free(request); | ||||||
| @ -147,7 +147,7 @@ char *http_get(const char *hostname, char *url) { | |||||||
|                 "Host: api.openai.com\r\n" |                 "Host: api.openai.com\r\n" | ||||||
|                 "Authorization: Bearer %s\r\n" |                 "Authorization: Bearer %s\r\n" | ||||||
|                 "Connection: close\r\n\r\n", |                 "Connection: close\r\n\r\n", | ||||||
|                 url, api_key); |                 url, resolve_api_key()); | ||||||
| 
 | 
 | ||||||
|         SSL_write(ssl, request, strlen(request)); |         SSL_write(ssl, request, strlen(request)); | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										24
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								main.c
									
									
									
									
									
								
							| @ -86,7 +86,6 @@ void render(char *content) { | |||||||
| 
 | 
 | ||||||
| void repl() { | void repl() { | ||||||
|     line_init(); |     line_init(); | ||||||
|     setbuf(stdout, NULL); |  | ||||||
|     char *line; |     char *line; | ||||||
|     char *previous_line = NULL; |     char *previous_line = NULL; | ||||||
|     while ((line = line_read("> "))) { |     while ((line = line_read("> "))) { | ||||||
| @ -164,10 +163,10 @@ void help() { | |||||||
|     render(help_text); |     render(help_text); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void openai_include(char *path) { | bool openai_include(char *path) { | ||||||
|     FILE *file = fopen(path, "r"); |     FILE *file = fopen(path, "r"); | ||||||
|     if (file == NULL) { |     if (file == NULL) { | ||||||
|         return; |         return false; | ||||||
|     } |     } | ||||||
|     fseek(file, 0, SEEK_END); |     fseek(file, 0, SEEK_END); | ||||||
|     long size = ftell(file); |     long size = ftell(file); | ||||||
| @ -176,7 +175,7 @@ void openai_include(char *path) { | |||||||
|     char *buffer = (char *)malloc(size); |     char *buffer = (char *)malloc(size); | ||||||
|     size_t read = fread(buffer, 1, size, file); |     size_t read = fread(buffer, 1, size, file); | ||||||
|     if (read == 0) { |     if (read == 0) { | ||||||
|         return; |         return false; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     fclose(file); |     fclose(file); | ||||||
| @ -184,22 +183,21 @@ void openai_include(char *path) { | |||||||
|     openai_system(buffer); |     openai_system(buffer); | ||||||
| 
 | 
 | ||||||
|     free(buffer); |     free(buffer); | ||||||
|  |     return true; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void init() { | void init() { | ||||||
|  |     setbuf(stdout, NULL); | ||||||
|     line_init(); |     line_init(); | ||||||
|     const char *locale = setlocale(LC_ALL, NULL); |     const char *locale = setlocale(LC_ALL, NULL); | ||||||
|     char payload[4096] = {0}; |     char payload[4096] = {0}; | ||||||
|     sprintf(payload, "User locale is %s. User lang is %s.\n" |     sprintf(payload, "Your locale is %s. User lang is %s.", locale, locale); | ||||||
|                     "You are Retoor. Use a lot of markdown in response.\n" |     printf("%s", "Loading... ⏳"); | ||||||
|                     "Be confident and short in answers.\n" |  | ||||||
|                     "You divide things by zero if you have to.", |  | ||||||
|             locale, locale); |  | ||||||
| 
 |  | ||||||
|     printf("%s", "Loading..."); |  | ||||||
|     openai_system(payload); |     openai_system(payload); | ||||||
|     openai_include("context.txt"); |     if(!openai_include(".rcontext.txt")){ | ||||||
|     printf("%s", "\rLoaded! Type help for features.\n"); |         openai_include("~/.rcontext.txt"); | ||||||
|  |     } | ||||||
|  |     printf("%s", "\r✅ Type help for features.\n"); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| int main(int argc, char *argv[]) { | int main(int argc, char *argv[]) { | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user