텍스트를 분석하는 클라이언트 애플리케이션 만들기
Tip
자세한 내용은 텍스트 및 이미지 탭을 참조하세요.
클라이언트 애플리케이션은 서비스 또는 모델에 연결하고 해당 기능을 사용하는 작성하는 프로그램입니다. 코드는 서비스에 요청을 보내고 결과를 자동으로 다시 받으므로 대량의 텍스트를 처리하거나 AI 분석을 워크플로에 통합할 수 있습니다.
AI 서비스에 연결하기 위해 애플리케이션은 API (애플리케이션 프로그래밍 인터페이스)를 사용합니다. API는 두 가지 소프트웨어가 통신하는 방법을 정의하는 규칙 집합입니다. 클라이언트 라이브러리는 개발자가 애플리케이션에서 서비스 또는 API와 쉽게 통신하는 데 사용할 수 있는 준비된 코드 집합입니다. AI 애플리케이션 및 엔드포인트 사용에 관한 기본 자료를 검토하려면 Azure에서 AI 시작하기를 참조하십시오.
텍스트 분석에 범용 AI 모델 사용
Microsoft Foundry 리소스로 시작하고 리소스 내에 Foundry 프로젝트를 만듭니다. 새 Foundry 포털에서 모델 카탈로그를 찾아보고 범용 모델을 배포할 수 있습니다.
Azure OpenAI API 사용하여 Microsoft Foundry 모델과 상호 작용하는 클라이언트 애플리케이션을 빌드할 수 있습니다. OpenAI API를 사용하면 권한이 있음을 증명하는 API 키와 함께 엔드포인트에 요청을 전송하여 코드가 배포된 모델과 통신할 수 있습니다.
Responses API 언어 모델과 상호 작용하기 위한 Azure OpenAI 내의 최신 통합 API입니다. 텍스트 생성뿐만 아니라 완전한 AI 상호 작용을 처리하도록 설계되었습니다.
응답 API를 사용하여 배포된 언어 모델에 자연어 프롬프트를 보낼 수 있습니다. 고정 구조화된 출력이 필요하지 않은 유연하고 대화형 스타일 분석이 필요한 경우에 유용합니다.
OpenAI Python 라이브러리 사용
OpenAI Python 라이브러리는 개발자가 원시 HTTP 요청 대신 코드를 통해 OpenAI 모델 및 서비스와 상호 작용하는 Python 애플리케이션을 빌드할 수 있는 공식 Python SDK(소프트웨어 개발 키트)입니다.
OpenAI Python 라이브러리를 사용하려면 코드 편집기 내에서 작업해야 합니다. 애플리케이션 코드는 Visual Studio Code 같은 코드 편집기 작성됩니다. 코드 편집기 터미널 은 개발 환경을 벗어나지 않고 명령을 실행할 수 있는 편집기 내의 기본 제공 명령줄 창입니다.
1. 필요한 패키지 설치
OpenAI Python 라이브러리는 다음을 사용하여 Visual Studio Code terminal 설치할 수 있습니다.
pip install openai
2. 구성 파일 만들기
다음으로, 구성 파일(형식 .env)을 만들어 엔드포인트, 키 및 모델 배포 이름과 같은 환경 변수를 저장할 수 있습니다.
다음 변수를 고려합니다.
AZURE_OPENAI_ENDPOINT=https://<your-resource>.openai.azure.com/openai/v1/
MODEL_DEPLOYMENT_NAME=gpt-4.1-mini
API_KEY=<your-foundry-key>
엔드포인트 변수에는 사용자의 Foundry 리소스 이름과 openai.azure.com/openai/v1가 포함되어 있습니다. API 키는 Foundry 프로젝트 키입니다.
모델 배포 이름은 모델을 배포할 때 지정 하는 이름입니다. 예를 들어 gpt-4.1 모델을 배포할 때 gpt-demo-model의 이름을 지정할 수 있습니다. 배포 이름은 gpt-demo-model입니다. 그러나 모델 이름을 사용자 지정하지 않으면 위의 코드 조각과 마찬가지로 배포 이름이 모델 이름과 일치합니다.
3. 애플리케이션 논리를 포함하는 파일 만들기
다음 애플리케이션 코드 샘플을 살펴보세요.
import os
from dotenv import load_dotenv
from openai import OpenAI
# Load environment variables from .env file
load_dotenv()
endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
api_key = os.getenv("API_KEY")
deployment_name = os.getenv("MODEL_DEPLOYMENT_NAME")
# Create the client object
client = OpenAI(
base_url=endpoint,
api_key=api_key
)
# Make a request using the client
message = client.responses.create(
model=deployment_name,
input="",
)
# Print the results
print(f"Sentiment: {message.output[0]}")
비고
환경 변수 로드: 이 샘플 dotenv 에서 (load_dotenv()) .env 파일을 읽고 해당 값을 앱의 환경에 로드합니다. 그런 다음 os 패키지는 os.getenv()로 이름을 지정하여 각 값을 os.getenv("AZURE_OPENAI_ENDPOINT")와 같이 검색합니다.
각 키는 .env 코드의 이름과 정확히 일치해야 합니다. 예를 들어 파일이 API_KEY을(를) 사용하면, 코드도 API_KEY을(를) 요청해야 합니다. 런타임에 값이 누락되는 것을 방지하려면 변수 이름을 일관되게 유지합니다.
Foundry 리소스 엔드포인트와 키를 사용하여 인증된 클라이언트 개체를 만듭니다. 클래스는 OpenAI SDK에 의해 정의되며 OpenAI API에 연결하기 위한 청사진 역할을 합니다. Python 인증된 클라이언트 개체는 코드에서 토큰 또는 비밀을 수동으로 관리하지 않고도 권한 있는 API 호출을 안전하게 수행할 수 있는 서비스별 개체입니다.
비고
Python class는 보유하는 데이터와 수행할 수 있는 작업의 유형을 정의하는 청사진입니다.
개체는 해당 청사진에서 만든 특정 인스턴스입니다. 예를 들어, Car 클래스는 각각의 자동차가 색상을 가지며 drive() 또는 stop()할 수 있도록 정의할 수 있습니다. 특정 자동차(예: 빨간색 자동차)를 만들면 그것이 하나의 개체가 됩니다.
엔드포인트 및 키로 구성된 클라이언트 개체 를 만든 후에는 메서드 를 호출하여 모델과 상호 작용할 수 있습니다. 예를 들어 responses메서드를 사용하여 특정 모델 배포에 프롬프트를 보낼 수 있습니다.
명령을 python <file_name>.py사용하여 터미널에서 애플리케이션 코드를 실행하여 분석 결과를 표시할 수 있습니다.
OpenAI API는 사용하기 간단하지만 모델이 확률적으로 텍스트를 생성하기 때문에 결과는 호출마다 다를 수 있습니다. 실제로 동일한 프롬프트가 있는 두 호출은 약간 다른 표현이나 서식을 반환할 수 있습니다. 앱에 언어 코드, 신뢰도 점수 또는 수정된 텍스트와 같은 일관되고 구조화된 값이 필요한 경우 Azure Language SDK를 선택하는 것이 좋습니다.
Azure 언어 SDK 사용
Azure 언어 SDK는 Foundry 도구의 Azure 언어에 대한 클라이언트 라이브러리입니다. SDK를 사용하면 개발자가 언어 감지 및 PII(개인 식별 정보) 수정과 같은 NLP 기능을 애플리케이션에 쉽게 추가할 수 있습니다.
Azure Language Python SDK를 사용하여 텍스트를 분석하는 애플리케이션을 빌드하는 방법을 살펴보겠습니다. Azure Language Python SDK를 사용하려면 Foundry 리소스 있어야 합니다. 그런 다음 호환되는 버전의 Python 및 Azure Language Python SDK를 설치해야 합니다.
Python SDK는 다음을 사용하여 Visual Studio Code terminal 설치할 수 있습니다.
pip install azure-ai-textanalytics
다음 구성 파일 샘플을 고려합니다.
AZURE_LANGUAGE_ENDPOINT=https://<your-resource>.cognitiveservices.azure.com/
API_KEY=<your-foundry-key>
다음 애플리케이션 코드 샘플을 고려합니다.
# Import packages
import os
from dotenv import load_dotenv
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import TextAnalyticsClient
# Load environment variables from .env file
load_dotenv()
endpoint = os.getenv("AZURE_LANGUAGE_ENDPOINT")
key = os.getenv("API_KEY")
# Create the client
client = TextAnalyticsClient(endpoint=endpoint, credential=AzureKeyCredential(key))
# Make a request using the client for language detection
text = "¡Hola! Me llamo Josefina y vivo en Madrid, España."
result = client.detect_language([text])[0]
클라이언트의 methods를 사용하여 및 detect_language 같은 recognize_pii_entities를 호출합니다.
언어 감지: 이 메서드는 detect_language() 텍스트 문자열 목록을 가져와 검색된 언어, 해당 ISO 639-1 코드 및 0에서 1 사이의 신뢰도 점수를 반환합니다.
text = "¡Hola! Me llamo Josefina y vivo en Madrid, España."
result = client.detect_language([text])[0]
# Print the results
print(f"Language : {result.primary_language.name}")
print(f"ISO code : {result.primary_language.iso6391_name}")
print(f"Confidence : {result.primary_language.confidence_score:.2f}")
PII 검색: 이 메서드는 recognize_pii_entities() 텍스트에서 개인 정보를 식별하고 수정된 버전의 텍스트와 각 엔터티의 범주 및 신뢰도 점수를 포함하여 찾은 엔터티 목록을 모두 반환합니다.
text = "Maria Garcia called from 020 7946 0958 and asked to send documents to 42 Market Road, London, UK, SW1A 1AA."
result = client.recognize_pii_entities([text])[0]
# Print the results
print("Redacted text:", result.redacted_text)
print("\nEntities found:")
for entity in result.entities:
print(f" {entity.text} | category={entity.category} | confidence={entity.confidence_score}")
OpenAI API 및 Azure Language SDK를 사용하면 자연어를 처리하고 텍스트에서 인사이트를 생성하는 AI 애플리케이션에 대한 코드를 작성할 수 있습니다.
다음으로, AI 에이전트에 Azure 언어 기능을 포함하는 방법을 살펴보겠습니다.