Kernel Memory 2. Quickstart

https://microsoft.github.io/kernel-memory/quickstart

이 가이드는 웹 서비스, 도커, 그리고 OpenAI 설정에 대해 사전 지식이 있다고 가정합니다.

 

Quickstart를 하려면 준비가 필요합니다.

  • .NET 6 or higher
  • Either an OpenAI API Key or Azure OpenAI deployment. If you are familiar with llama.cpp or LLamaSharp you can also use a LLama model. However, this may result in slower AI code execution, depending on your device.
  • A vector database, such as Azure AI Search, Qdrant, or Postgres+pgvector. For basic tests, you can use KM SimpleVectorDb.
  • A copy of the KM repository.

Configuration

KM 서비스를 시작하려면 구성 파일이 필요합니다.

개발을 위해 appsettings.Development.json과 프로덕션을 위해 appsettings.Production.json을 작성합니다.

적절한 구성 파일은 ASPNETCORE_ENVIRONMENT 환경 변수에 따라 자동으로 로드됩니다. 개발 워크스테이션에 이 환경 변수가 없다면 생성하는 것이 좋습니다: ASPNETCORE_ENVIRONMENT == “Development”. 프로덕션 환경에서는 ASPNETCORE_ENVIRONMENT = “Production”으로 설정하고 싶을 것입니다.

 

커널 메모리 레파지토리에는 appsettings.Development.json 파일을 만들면서 시작할 수 있는 서비스를 제공합니다. 아래와 같이 실행합니다.

cd service/Service
dotnet run setup

 

실행하면,

커널 메모리 서비스를 어떻게 실행할 지, 메모리와 문서를 어떻게 다룰 지 결정하라고 합니다.
커널 메모리는 웹 서비스로 제공할 지 아닐지 결정하면 되고, 메모리와 문서는 동기로 할 지 비동기로 할 지 정하면 됩니다.

세 가지 옵션을 제공합니다 .

  • 웹 서비스로 비동기적으로
  • 웹 서비스로 동기적으로
  • 웹 서비스로 안 하고 비동기적으로

 

옵션에서   위 아래 이동 키를 눌러 “웹 서비스로 비동기적으로”를 선택합니다.

 

추가적인 질문들에 답합니다.

웹 서비스를 API 키로 보호할 것인지 묻습니다. 우리는 지금은 로컬에서 할 거니 No를 선택합니다.

OpenAPI와 Swagger로 웹 서비스 API를 문서화할 지를 묻습니다. Yes 합니다.

비동기 처리 한다고 했으니, 어떤 큐 서비스를 사용할 지 묻습니다. 투토리얼 해 볼거니 SimpleQueues를 선택한다. SimpleQueues를 사용하면 관련 데이터가 메모리나 디스크에 저장되는 휘발성 이라는 문구가 보인다.

큐 메시지들을 어디에 저장할 것인지 묻습니다. 제시한 이름 그대로 사용할 거니 엔터 칩니다.

파일들을 어디에 저장할 지 묻습니다. 데이터가 메모리나 디스크에 저장될 휘발성이니 SimpleFileStorage를 선택 합니다.

디렉토리는 어디로 할 지 묻습니다. 제시한 이름 그대로 합니다. 엔터 칩니다.

이미지로 부터 텍스트 추출하는 데 어떤 서비스를 사용할 지 묻습니다. None을 선택합니다.

데이터를 가져올 때 임베딩 할 것인지 묻습니다. Yes 합니다.

임베딩 생성할 때 어떤 임베딩 모델을 사용할 지 묻습니다. OpenAI embedding model을 선택합니다.

어떤 모델 사용할 지 묻습니다. 응답하는 LLM 모델과 임베딩에 사용할 모델을 선택하라고 합니다. 기본 값을 사용할 거니 두 번 엔터 칩니다.

OpenAI API 키와 조직 id를 묻습니다. API 키는 복사 붙여넣기 해도 화면에서는 안 보입니다.

답변을 찾을 때 사용할  메모리 DB 서비스를 선택하라고 합니다. SimpleVectorDb 선택합니다.

벡터를 어디에 저장할 지 묻습니다. 기본 값을 사용할 거니 엔터 칩니다.

응답 생성할 때 어떤 모델 사용할 지 묻습니다. OpenAI text/chat model을 선택합니다.

로깅 레벨을 묻습니다. Information을 선택합니다.

 

*  환경 설정은 \kernel-memory\service\Service 폴더의  appsettings.Development.json 파일에서 확인 할 수 있습니다.

 

서비스를 시작해 봅니다.

cd service/Service
dotnet run

 

브라우저에서 http://127.0.0.1:9001/swagger/index.html 로 접속해 봅니다. API들이 보일 것 입니다.

 

https://microsoft.github.io/kernel-memory/quickstart/csharp

커널 메모리 웹 서비스를 실행 해 두고, 위 예제를 해 봅니다.

  1. 웹 페이지 내용을 가져옵니다. https://raw.githubusercontent.com/microsoft/kernel-memory/main/README.md
  2. 웹 페이지 내용으로 메모리를 구성합니다.
  3. “Is there a Kernel Memory community and how can I join?”라고 질의합니다.
  4. “Yes, there is a Kernel Memory community. You can join the community by visiting the [Kernel Memory Discord server](https://aka.ms/KMdiscord).” 라고 답합니다.
About the Author
(주)뉴테크프라임 대표 김현남입니다. 저에 대해 좀 더 알기를 원하시는 분은 아래 링크를 참조하세요. http://www.umlcert.com/kimhn/

Leave a Reply

*