Added auth.
This commit is contained in:
		
							parent
							
								
									c05edc45d9
								
							
						
					
					
						commit
						413c3b9599
					
				
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -2,8 +2,6 @@ | ||||
| .venv | ||||
| .history | ||||
| .backup* | ||||
| auth.h  | ||||
| context.txt | ||||
| gpt | ||||
| gpt.c | ||||
| 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" | ||||
|                 "Authorization: Bearer %s\r\n" | ||||
|                 "Connection: close\r\n\r\n%s", | ||||
|                 url, len, api_key, data); | ||||
|                 url, len, resolve_api_key(), data); | ||||
|          | ||||
|         SSL_write(ssl, request, strlen(request)); | ||||
|         free(request); | ||||
| @ -147,7 +147,7 @@ char *http_get(const char *hostname, char *url) { | ||||
|                 "Host: api.openai.com\r\n" | ||||
|                 "Authorization: Bearer %s\r\n" | ||||
|                 "Connection: close\r\n\r\n", | ||||
|                 url, api_key); | ||||
|                 url, resolve_api_key()); | ||||
| 
 | ||||
|         SSL_write(ssl, request, strlen(request)); | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										24
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								main.c
									
									
									
									
									
								
							| @ -86,7 +86,6 @@ void render(char *content) { | ||||
| 
 | ||||
| void repl() { | ||||
|     line_init(); | ||||
|     setbuf(stdout, NULL); | ||||
|     char *line; | ||||
|     char *previous_line = NULL; | ||||
|     while ((line = line_read("> "))) { | ||||
| @ -164,10 +163,10 @@ void help() { | ||||
|     render(help_text); | ||||
| } | ||||
| 
 | ||||
| void openai_include(char *path) { | ||||
| bool openai_include(char *path) { | ||||
|     FILE *file = fopen(path, "r"); | ||||
|     if (file == NULL) { | ||||
|         return; | ||||
|         return false; | ||||
|     } | ||||
|     fseek(file, 0, SEEK_END); | ||||
|     long size = ftell(file); | ||||
| @ -176,7 +175,7 @@ void openai_include(char *path) { | ||||
|     char *buffer = (char *)malloc(size); | ||||
|     size_t read = fread(buffer, 1, size, file); | ||||
|     if (read == 0) { | ||||
|         return; | ||||
|         return false; | ||||
|     } | ||||
| 
 | ||||
|     fclose(file); | ||||
| @ -184,22 +183,21 @@ void openai_include(char *path) { | ||||
|     openai_system(buffer); | ||||
| 
 | ||||
|     free(buffer); | ||||
|     return true; | ||||
| } | ||||
| 
 | ||||
| void init() { | ||||
|     setbuf(stdout, NULL); | ||||
|     line_init(); | ||||
|     const char *locale = setlocale(LC_ALL, NULL); | ||||
|     char payload[4096] = {0}; | ||||
|     sprintf(payload, "User locale is %s. User lang is %s.\n" | ||||
|                     "You are Retoor. Use a lot of markdown in response.\n" | ||||
|                     "Be confident and short in answers.\n" | ||||
|                     "You divide things by zero if you have to.", | ||||
|             locale, locale); | ||||
| 
 | ||||
|     printf("%s", "Loading..."); | ||||
|     sprintf(payload, "Your locale is %s. User lang is %s.", locale, locale); | ||||
|     printf("%s", "Loading... ⏳"); | ||||
|     openai_system(payload); | ||||
|     openai_include("context.txt"); | ||||
|     printf("%s", "\rLoaded! Type help for features.\n"); | ||||
|     if(!openai_include(".rcontext.txt")){ | ||||
|         openai_include("~/.rcontext.txt"); | ||||
|     } | ||||
|     printf("%s", "\r✅ Type help for features.\n"); | ||||
| } | ||||
| 
 | ||||
| int main(int argc, char *argv[]) { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user