설정하기
1. https://github.com/srcnalt/OpenAI-Unity에서 https 링크 복사 후 Unity 상단 메뉴 -> Window -> PackageManager -> +버튼 -> Add package from git url에 붙여 넣기
2. 사용자 -> 원하는 사용자 폴더 -> .openai 이름의 폴더 만들기 -> auth.json 만들기
3. auth.json을 열어서 아래처럼 붙여넣기
{
"api_key": " ",
"organization": " "
}
- 유니티 상에서도 할 수 있지만, 그대로 노출이 되기 때문에 보안에 취약하다.
- private OpenAIApi openAI = new OpenAIApi(apikey,organization); 이런식으로 가능
4. https://openai.com/product 로그인 후 https://platform.openai.com/account/api-keys 에서 Create new secret key 누르고 나온 키를 api_key에 적기
- api_key는 한번만 보여주기 때문에 따로 잘 저장하기!
5. organization은 https://platform.openai.com/account/org-settings 의 Organization ID 적기
사용하기
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using OpenAI;
public class ChatGPTManager : MonoBehaviour
{
private OpenAIApi openAI = new OpenAIApi();
private List<ChatMessage> messages = new List<ChatMessage>();
public async void AskChatGPT(string newText)
{
ChatMessage newMessage = new ChatMessage();
newMessage.Content = newText; // 보내는 메세지
newMessage.Role = "user"; // 보내는 사람
messages.Add(newMessage);
CreateChatCompletionRequest request = new CreateChatCompletionRequest();
request.Messages = messages; // 보내는 메세지
request.Model = "gpt-3.5-turbo"; // 사용하는 요금제
var response = await openAI.CreateChatCompletion(request);
if(response.Choices != null && response.Choices.Count > 0)
{
var chatResponse = response.Choices[0].Message;
messages.Add(chatResponse);
Debug.Log(chatResponse.Content);
}
}
}
'개발툴 > Unity' 카테고리의 다른 글
| Reflex 실습 - UniRx와 Reflex를 활용한 간단한 카운터 만들기 (0) | 2023.12.18 |
|---|---|
| Reflex (Github Readme 번역) (1) | 2023.12.18 |
| Unity Tilemap을 이용해서 원하는 크기의 격자맵 그리기 (0) | 2023.09.30 |
| IL2CPP (0) | 2023.09.30 |
| Null 레퍼런스 예외 해결방법 (0) | 2023.07.28 |