ChatGPT

ChatGPT JOY : ChatGPT Assistants API 활용 파이썬 코드 공개

Software for Digital Joy~ 2023. 12. 9. 10:46
반응형

안녕하세요. 디지털조이 입니다.

오늘은 ChatGPT Assistants 설명을 보고 파이썬 코드를 작성해 보려고 합니다.

현재는 베타 버전이지만 내년 초 ChatGPT 앱 스토어가 열리면 엄청 HOT한 기술이 될 것으로 확신합니다.

아울러 AGI 로 가는 지름길이라 말씀드릴수 있습니다.

 

python 샘플 예제 지금 바로 시작합니다.

 

홈페이지도 잘 나와 있지만 저 나름대로 생각해서 코드를 작성해 볼려고 합니다.

https://platform.openai.com/docs/assistants/overview

 

다음 코드에서 [API 키 입력]은 Open AI에서 API 키를 발급받아야 합니다.

이렇게 코딩하면 pdf 파일과 대화할수도 있고 이어서 대화가 가능합니다.

from openai import OpenAI
import time

client = OpenAI(api_key="[API 키 입력]");
# Upload a file with an "assistants" purpose
file = client.files.create(
  file=open("Assistants.pdf", "rb"),
  purpose='assistants'
)

# Add the file to the assistant
assistant = client.beta.assistants.create(
  instructions="You are a customer support chatbot. Use your knowledge base to best respond to customer queries.",
  model="gpt-3.5-turbo-1106",
  tools=[{"type": "retrieval"}],
  file_ids=[file.id]
)
print(assistant)  

thread = client.beta.threads.create()
print(thread)

message = client.beta.threads.messages.create(
    thread_id=thread.id,
    role="user",
    content="오늘의 날씨를 알려줘?",
    file_ids=[file.id]
)
print(message)

run = client.beta.threads.runs.create(
  thread_id=thread.id,
  assistant_id=assistant.id,
  instructions="기상케스터"
)
print(run)
while True:
	run = client.beta.threads.runs.retrieve(
  	thread_id=thread.id,
  	run_id=run.id
	)
	print(run.status)
	if run.status == "completed":
		break
	else:
		time.sleep(2)

messages = client.beta.threads.messages.list(
  thread_id=thread.id
)
print(messages.data[0].content[0].text.value)
728x90
반응형