21/8/2024: CoPilot พร้อมใช้งานแล้วในเวอร์ชัน 0.9 (v0.9.0) โปรดดูบันทึกประจำรุ่นสำหรับรายละเอียด หมายเหตุ: บน TigerGraph Cloud มีเพียง CoPilot v0.5 เท่านั้นที่ใช้งานได้
30/4/2024: CoPilot พร้อมใช้งานแล้วในรุ่นเบต้า (v0.5.0) มีการเพิ่มฟังก์ชันใหม่ทั้งหมดใน CoPilot: ตอนนี้คุณสามารถสร้างแชทบอทด้วย AI ที่เสริมกราฟบนเอกสารของคุณเองได้แล้ว CoPilot สร้างกราฟความรู้จากแหล่งข้อมูล และใช้กราฟความรู้ RAG (Retrieval Augmented Generation) เพื่อปรับปรุงความเกี่ยวข้องตามบริบทและความแม่นยำของคำตอบสำหรับคำถามที่เป็นภาษาธรรมชาติ เรายินดีรับฟังความคิดเห็นของคุณเพื่อปรับปรุงอย่างต่อเนื่องเพื่อสร้างมูลค่าให้กับคุณมากขึ้น มันจะมีประโยชน์มากหากคุณสามารถกรอกแบบสำรวจสั้นๆ นี้หลังจากที่คุณเล่นกับ CoPilot แล้ว ขอบคุณสำหรับความสนใจและการสนับสนุนของคุณ!
18/3/2024: CoPilot พร้อมใช้งานแล้วในรุ่น Alpha (v0.0.1) ใช้ Large Language Model (LLM) เพื่อแปลงคำถามของคุณเป็นการเรียกใช้ฟังก์ชัน ซึ่งจากนั้นจะดำเนินการบนกราฟใน TigerGraph เรายินดีรับฟังความคิดเห็นของคุณเพื่อปรับปรุงอย่างต่อเนื่องเพื่อสร้างมูลค่าให้กับคุณมากขึ้น หากคุณกำลังทดลองใช้อยู่ จะเป็นประโยชน์มากหากคุณสามารถกรอกแบบฟอร์มลงทะเบียนนี้เพื่อให้เราติดตามได้ (สัญญาว่าไม่มีสแปม) และหากคุณต้องการแสดงความคิดเห็น โปรดกรอกแบบสำรวจสั้นๆ นี้ ขอบคุณสำหรับความสนใจและการสนับสนุนของคุณ!
TigerGraph CoPilot เป็นผู้ช่วย AI ที่ออกแบบมาอย่างพิถีพิถันเพื่อรวมพลังของฐานข้อมูลกราฟและ AI เชิงสร้างสรรค์ เพื่อดึงมูลค่าสูงสุดจากข้อมูล และเพื่อเพิ่มผลผลิตในฟังก์ชันทางธุรกิจต่างๆ รวมถึงงานการวิเคราะห์ การพัฒนา และการบริหารงาน โดยเป็นผู้ช่วย AI หนึ่งคนพร้อมบริการองค์ประกอบหลักสามประการ:
คุณสามารถโต้ตอบกับ CoPilot ผ่านอินเทอร์เฟซการแชทบน TigerGraph Cloud ซึ่งเป็นอินเทอร์เฟซการแชทและ API ในตัว ในตอนนี้ บริการ LLM ของคุณเอง (จาก OpenAI, Azure, GCP, AWS Bedrock, Ollama, Hugging Face และ Groq) จำเป็นต้องใช้ CoPilot แต่ในรุ่นต่อๆ ไป คุณสามารถใช้ LLM ของ TigerGraph ได้
เมื่อถามคำถามในภาษาธรรมชาติ CoPilot (InquiryAI) จะใช้การโต้ตอบแบบสามเฟสแบบใหม่กับทั้งฐานข้อมูล TigerGraph และ LLM ที่ผู้ใช้เลือก เพื่อให้ได้คำตอบที่แม่นยำและเกี่ยวข้อง
ระยะแรกจัดคำถามให้สอดคล้องกับข้อมูลเฉพาะที่มีอยู่ในฐานข้อมูล CoPilot ใช้ LLM เพื่อเปรียบเทียบคำถามกับสคีมาของกราฟ และแทนที่เอนทิตีในคำถามด้วยองค์ประกอบของกราฟ ตัวอย่างเช่น หากมีจุดยอดประเภท “BareMetalNode” และผู้ใช้ถามว่า “มีเซิร์ฟเวอร์กี่เครื่อง” คำถามจะถูกแปลเป็น “มีจุดยอด BareMetalNode กี่แห่ง” ในระยะที่สอง CoPilot ใช้ LLM เพื่อเปรียบเทียบคำถามที่แปลงแล้วกับชุดการสืบค้นและฟังก์ชันฐานข้อมูลที่ได้รับการดูแลจัดการ เพื่อเลือกคำถามที่ตรงกันที่สุด ในระยะที่สาม CoPilot ดำเนินการค้นหาที่ระบุและส่งกลับผลลัพธ์เป็นภาษาธรรมชาติพร้อมกับเหตุผลที่อยู่เบื้องหลังการดำเนินการ
การใช้คำค้นหาที่ได้รับอนุมัติล่วงหน้าให้ประโยชน์หลายประการ ประการแรกและสำคัญที่สุดคือ ลดโอกาสที่จะเกิดอาการประสาทหลอน เนื่องจากความหมายและพฤติกรรมของคำถามแต่ละคำได้รับการตรวจสอบแล้ว ประการที่สอง ระบบมีศักยภาพในการทำนายทรัพยากรการดำเนินการที่จำเป็นในการตอบคำถาม
ด้วย SupportAI CoPilot จะสร้างแชทบอทที่มี AI เสริมกราฟบนเอกสารหรือข้อมูลข้อความของผู้ใช้เอง สร้างกราฟความรู้จากแหล่งข้อมูลและใช้รูปแบบเฉพาะของ RAG (Retrieval Augmented Generation) ที่ใช้กราฟความรู้ เพื่อปรับปรุงความเกี่ยวข้องตามบริบทและความแม่นยำของคำตอบสำหรับคำถามที่เป็นภาษาธรรมชาติ
CoPilot จะระบุแนวคิดและสร้างภววิทยา เพื่อเพิ่มความหมายและเหตุผลให้กับกราฟความรู้ หรือผู้ใช้สามารถจัดเตรียมภววิทยาแนวคิดของตนเองได้ จากนั้น ด้วยกราฟความรู้ที่ครอบคลุมนี้ CoPilot ทำการดึงข้อมูลแบบผสม ผสมผสานการค้นหาเวกเตอร์แบบดั้งเดิมและการสำรวจกราฟ เพื่อรวบรวมข้อมูลที่เกี่ยวข้องมากขึ้นและบริบทที่สมบูรณ์ยิ่งขึ้นเพื่อตอบคำถามความรู้ของผู้ใช้
การจัดระเบียบข้อมูลเป็นกราฟความรู้ช่วยให้แชทบอทเข้าถึงข้อมูลที่ถูกต้องตามข้อเท็จจริงได้อย่างรวดเร็วและมีประสิทธิภาพ ซึ่งช่วยลดการพึ่งพาการสร้างการตอบสนองจากรูปแบบที่เรียนรู้ระหว่างการฝึกอบรม ซึ่งบางครั้งอาจไม่ถูกต้องหรือล้าสมัย
QueryAI เป็นองค์ประกอบที่สามของ TigerGraph CoPilot ได้รับการออกแบบมาเพื่อใช้เป็นเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์เพื่อช่วยสร้างคิวรีกราฟใน GSQL จากคำอธิบายภาษาอังกฤษ นอกจากนี้ยังสามารถใช้เพื่อสร้างสคีมา การแมปข้อมูล และแม้กระทั่งแดชบอร์ด ซึ่งจะช่วยให้นักพัฒนาสามารถเขียนแบบสอบถาม GSQL ได้อย่างรวดเร็วและแม่นยำยิ่งขึ้น และจะเป็นประโยชน์อย่างยิ่งสำหรับผู้ที่ยังใหม่กับ GSQL ปัจจุบันการสร้าง openCypher รุ่นทดลองพร้อมใช้งานแล้ว
CoPilot พร้อมให้บริการเป็นบริการเสริมในพื้นที่ทำงานของคุณบน TigerGraph Cloud มันถูกปิดใช้งานโดยค่าเริ่มต้น โปรดติดต่อ [email protected] เพื่อเปิดใช้งาน TigerGraph CoPilot เป็นตัวเลือกในตลาดกลาง
TigerGraph CoPilot เป็นโปรเจ็กต์โอเพ่นซอร์สบน GitHub ซึ่งสามารถนำไปใช้กับโครงสร้างพื้นฐานของคุณเองได้
หากคุณไม่ต้องการขยายซอร์สโค้ดของ CoPilot วิธีที่เร็วที่สุดคือการปรับใช้อิมเมจนักเทียบท่าด้วยไฟล์เขียนนักเทียบท่าใน repo เพื่อที่จะใช้เส้นทางนี้ คุณจะต้องมีข้อกำหนดเบื้องต้นดังต่อไปนี้
ขั้นตอนที่ 1: รับไฟล์นักเทียบท่าเขียน
git clone https://github.com/tigergraph/CoPilot
ไฟล์ Docker Compose มีการขึ้นต่อกันทั้งหมดสำหรับ CoPilot รวมถึงฐานข้อมูล Milvus หากคุณไม่ต้องการบริการใดบริการหนึ่ง คุณจะต้องแก้ไขไฟล์ Compose เพื่อลบออกหรือตั้งค่ามาตราส่วนเป็น 0 เมื่อเรียกใช้ไฟล์ Compose (รายละเอียดภายหลัง) นอกจากนี้ CoPilot ยังมาพร้อมกับหน้าเอกสาร Swagger API เมื่อใช้งาน หากคุณต้องการปิดใช้งาน คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม PRODUCTION
ให้เป็นจริงสำหรับบริการ CoPilot ในไฟล์ Compose
ขั้นตอนที่ 2: ตั้งค่าคอนฟิกูเรชัน
จากนั้น ในไดเร็กทอรีเดียวกับที่มีไฟล์ Docker Compose ให้สร้างและกรอกไฟล์คอนฟิกูเรชันต่อไปนี้:
ขั้นตอนที่ 3 (ไม่บังคับ): กำหนดค่าการบันทึก
touch configs/log_config.json
รายละเอียดการกำหนดค่ามีอยู่ที่นี่
ขั้นตอนที่ 4: เริ่มบริการทั้งหมด
ตอนนี้เพียงเรียกใช้ docker compose up -d
แล้วรอให้บริการทั้งหมดเริ่มต้น หากคุณไม่ต้องการใช้ Milvus DB ที่รวมอยู่ คุณสามารถตั้งค่ามาตราส่วนเป็น 0 เพื่อไม่ให้เริ่มทำงานได้: docker compose up -d --scale milvus-standalone=0 --scale etcd=0 --scale minio=0
.
ขั้นตอนที่ 5: ติดตั้ง UDF
ขั้นตอนนี้ไม่จำเป็นสำหรับฐานข้อมูล TigerGraph เวอร์ชัน 4.x สำหรับ TigerGraph 3.x เราจำเป็นต้องติดตั้งฟังก์ชันที่ผู้ใช้กำหนด (UDF) บางส่วนเพื่อให้ CoPilot ทำงานได้
sudo su - tigergraph
หาก TigerGraph ทำงานบนคลัสเตอร์ คุณสามารถทำได้บนเครื่องเครื่องใดก็ได้ gadmin config set GSQL.UDF.EnablePutTgExpr true
gadmin config set GSQL.UDF.Policy.Enable false
gadmin config apply
gadmin restart GSQL
PUT tg_ExprFunctions FROM "./tg_ExprFunctions.hpp"
PUT tg_ExprUtil FROM "./tg_ExprUtil.hpp"
gadmin config set GSQL.UDF.EnablePutTgExpr false
gadmin config set GSQL.UDF.Policy.Enable true
gadmin config apply
gadmin restart GSQL
ในไฟล์ configs/llm_config.json
ให้คัดลอกเทมเพลตการกำหนดค่า JSON จากด้านล่างสำหรับผู้ให้บริการ LLM ของคุณ และกรอกข้อมูลในช่องที่เหมาะสม ต้องการผู้ให้บริการเพียงรายเดียวเท่านั้น
OpenAI
นอกจาก OPENAI_API_KEY
แล้ว llm_model
และ model_name
ยังสามารถแก้ไขได้เพื่อให้ตรงกับรายละเอียดการกำหนดค่าเฉพาะของคุณ
{
"model_name" : " GPT-4 " ,
"embedding_service" : {
"embedding_model_service" : " openai " ,
"authentication_configuration" : {
"OPENAI_API_KEY" : " YOUR_OPENAI_API_KEY_HERE "
}
},
"completion_service" : {
"llm_service" : " openai " ,
"llm_model" : " gpt-4-0613 " ,
"authentication_configuration" : {
"OPENAI_API_KEY" : " YOUR_OPENAI_API_KEY_HERE "
},
"model_kwargs" : {
"temperature" : 0
},
"prompt_path" : " ./app/prompts/openai_gpt4/ "
}
}
จีซีพี
ปฏิบัติตามข้อมูลการตรวจสอบสิทธิ์ GCP ที่นี่: https://cloud.google.com/docs/authentication/application-default-credentials#GAC และสร้างบัญชีบริการด้วยข้อมูลรับรอง VertexAI จากนั้นเพิ่มสิ่งต่อไปนี้ในคำสั่ง docker run:
-v $( pwd ) /configs/SERVICE_ACCOUNT_CREDS.json:/SERVICE_ACCOUNT_CREDS.json -e GOOGLE_APPLICATION_CREDENTIALS=/SERVICE_ACCOUNT_CREDS.json
และการกำหนดค่า JSON ของคุณควรเป็นดังนี้:
{
"model_name" : " GCP-text-bison " ,
"embedding_service" : {
"embedding_model_service" : " vertexai " ,
"authentication_configuration" : {}
},
"completion_service" : {
"llm_service" : " vertexai " ,
"llm_model" : " text-bison " ,
"model_kwargs" : {
"temperature" : 0
},
"prompt_path" : " ./app/prompts/gcp_vertexai_palm/ "
}
}
สีฟ้า
นอกจาก AZURE_OPENAI_ENDPOINT
, AZURE_OPENAI_API_KEY
และ azure_deployment
แล้ว llm_model
และ model_name
ยังสามารถแก้ไขได้เพื่อให้ตรงกับรายละเอียดการกำหนดค่าเฉพาะของคุณ
{
"model_name" : " GPT35Turbo " ,
"embedding_service" : {
"embedding_model_service" : " azure " ,
"azure_deployment" : " YOUR_EMBEDDING_DEPLOYMENT_HERE " ,
"authentication_configuration" : {
"OPENAI_API_TYPE" : " azure " ,
"OPENAI_API_VERSION" : " 2022-12-01 " ,
"AZURE_OPENAI_ENDPOINT" : " YOUR_AZURE_ENDPOINT_HERE " ,
"AZURE_OPENAI_API_KEY" : " YOUR_AZURE_API_KEY_HERE "
}
},
"completion_service" : {
"llm_service" : " azure " ,
"azure_deployment" : " YOUR_COMPLETION_DEPLOYMENT_HERE " ,
"openai_api_version" : " 2023-07-01-preview " ,
"llm_model" : " gpt-35-turbo-instruct " ,
"authentication_configuration" : {
"OPENAI_API_TYPE" : " azure " ,
"AZURE_OPENAI_ENDPOINT" : " YOUR_AZURE_ENDPOINT_HERE " ,
"AZURE_OPENAI_API_KEY" : " YOUR_AZURE_API_KEY_HERE "
},
"model_kwargs" : {
"temperature" : 0
},
"prompt_path" : " ./app/prompts/azure_open_ai_gpt35_turbo_instruct/ "
}
}
ข้อมูลพื้นฐาน AWS
{
"model_name" : " Claude-3-haiku " ,
"embedding_service" : {
"embedding_model_service" : " bedrock " ,
"embedding_model" : " amazon.titan-embed-text-v1 " ,
"authentication_configuration" : {
"AWS_ACCESS_KEY_ID" : " ACCESS_KEY " ,
"AWS_SECRET_ACCESS_KEY" : " SECRET "
}
},
"completion_service" : {
"llm_service" : " bedrock " ,
"llm_model" : " anthropic.claude-3-haiku-20240307-v1:0 " ,
"authentication_configuration" : {
"AWS_ACCESS_KEY_ID" : " ACCESS_KEY " ,
"AWS_SECRET_ACCESS_KEY" : " SECRET "
},
"model_kwargs" : {
"temperature" : 0 ,
},
"prompt_path" : " ./app/prompts/aws_bedrock_claude3haiku/ "
}
}
โอลามา
{
"model_name" : " GPT-4 " ,
"embedding_service" : {
"embedding_model_service" : " openai " ,
"authentication_configuration" : {
"OPENAI_API_KEY" : " "
}
},
"completion_service" : {
"llm_service" : " ollama " ,
"llm_model" : " calebfahlgren/natural-functions " ,
"model_kwargs" : {
"temperature" : 0.0000001
},
"prompt_path" : " ./app/prompts/openai_gpt4/ "
}
}
กอดหน้า
ตัวอย่างการกำหนดค่าสำหรับโมเดลบน Hugging Face ที่มีจุดสิ้นสุดเฉพาะแสดงไว้ด้านล่าง โปรดระบุรายละเอียดการกำหนดค่าของคุณ:
{
"model_name" : " llama3-8b " ,
"embedding_service" : {
"embedding_model_service" : " openai " ,
"authentication_configuration" : {
"OPENAI_API_KEY" : " "
}
},
"completion_service" : {
"llm_service" : " huggingface " ,
"llm_model" : " hermes-2-pro-llama-3-8b-lpt " ,
"endpoint_url" : " https:endpoints.huggingface.cloud " ,
"authentication_configuration" : {
"HUGGINGFACEHUB_API_TOKEN" : " "
},
"model_kwargs" : {
"temperature" : 0.1
},
"prompt_path" : " ./app/prompts/openai_gpt4/ "
}
}
ตัวอย่างการกำหนดค่าสำหรับโมเดล Hugging Face ที่มีจุดสิ้นสุดแบบไร้เซิร์ฟเวอร์แสดงอยู่ด้านล่าง โปรดระบุรายละเอียดการกำหนดค่าของคุณ:
{
"model_name" : " Llama3-70b " ,
"embedding_service" : {
"embedding_model_service" : " openai " ,
"authentication_configuration" : {
"OPENAI_API_KEY" : " "
}
},
"completion_service" : {
"llm_service" : " huggingface " ,
"llm_model" : " meta-llama/Meta-Llama-3-70B-Instruct " ,
"authentication_configuration" : {
"HUGGINGFACEHUB_API_TOKEN" : " "
},
"model_kwargs" : {
"temperature" : 0.1
},
"prompt_path" : " ./app/prompts/llama_70b/ "
}
}
กร็อก
{
"model_name" : " mixtral-8x7b-32768 " ,
"embedding_service" : {
"embedding_model_service" : " openai " ,
"authentication_configuration" : {
"OPENAI_API_KEY" : " "
}
},
"completion_service" : {
"llm_service" : " groq " ,
"llm_model" : " mixtral-8x7b-32768 " ,
"authentication_configuration" : {
"GROQ_API_KEY" : " "
},
"model_kwargs" : {
"temperature" : 0.1
},
"prompt_path" : " ./app/prompts/openai_gpt4/ "
}
}
คัดลอกด้านล่างลงใน configs/db_config.json
และแก้ไข hostname
และฟิลด์ getToken
เพื่อให้ตรงกับการกำหนดค่าฐานข้อมูลของคุณ หากเปิดใช้งานการรับรองความถูกต้องโทเค็นใน TigerGraph ให้ตั้งค่า getToken
เป็น true
ตั้งค่าการหมดเวลา ขีดจำกัดหน่วยความจำ และพารามิเตอร์ขีดจำกัดเธรดตามต้องการเพื่อควบคุมปริมาณการใช้ทรัพยากรของฐานข้อมูลเมื่อตอบคำถาม
“ecc” และ “chat_history_api” คือที่อยู่ของส่วนประกอบภายในของ CoPilot หากคุณใช้ไฟล์ Docker Compose เหมือนเดิม คุณไม่จำเป็นต้องเปลี่ยนไฟล์เหล่านั้น
{
"hostname" : " http://tigergraph " ,
"restppPort" : " 9000 " ,
"gsPort" : " 14240 " ,
"getToken" : false ,
"default_timeout" : 300 ,
"default_mem_threshold" : 5000 ,
"default_thread_limit" : 8 ,
"ecc" : " http://eventual-consistency-service:8001 " ,
"chat_history_api" : " http://chat-history:8002 "
}
คัดลอกด้านล่างลงใน configs/milvus_config.json
และแก้ไขฟิลด์ host
และ port
เพื่อให้ตรงกับการกำหนดค่า Milvus ของคุณ (คำนึงถึงการกำหนดค่านักเทียบท่า) username
และ password
สามารถกำหนดค่าด้านล่างได้หากจำเป็นโดยการตั้งค่า Milvus ของคุณ enabled
ควรตั้งค่าเป็น "จริง" เสมอในขณะนี้ เนื่องจาก Milvus รองรับเฉพาะร้านค้าแบบฝังเท่านั้น
{
"host" : " milvus-standalone " ,
"port" : 19530 ,
"username" : " " ,
"password" : " " ,
"enabled" : " true " ,
"sync_interval_seconds" : 60
}
คัดลอกโค้ดด้านล่างลงใน configs/chat_config.json
คุณไม่จำเป็นต้องเปลี่ยนแปลงอะไรเลย เว้นแต่คุณจะเปลี่ยนพอร์ตของบริการประวัติการแชทในไฟล์ Docker Compose
{
"apiPort" : " 8002 " ,
"dbPath" : " chats.db " ,
"dbLogPath" : " db.log " ,
"logPath" : " requestLogs.jsonl " ,
"conversationAccessRoles": ["superuser", "globaldesigner"]
}
หากคุณต้องการเปิดใช้งานการสร้างแบบสอบถาม openCypher ใน InquiryAI คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม USE_CYPHER
เป็น "true"
ในบริการ CoPilot ในไฟล์เขียนนักเทียบท่า โดยค่าเริ่มต้น ค่านี้จะถูกตั้งค่าเป็น "false"
หมายเหตุ : การสร้างแบบสอบถาม openCypher ยังอยู่ในช่วงเบต้าและอาจไม่ทำงานตามที่คาดไว้ รวมถึงเพิ่มศักยภาพของคำตอบที่หลอนเนื่องจากการสร้างโค้ดที่ไม่ถูกต้อง ใช้ด้วยความระมัดระวังและเฉพาะในสภาพแวดล้อมที่ไม่ใช่การผลิตเท่านั้น
CoPilot เป็นมิตรกับผู้ใช้ทั้งด้านเทคนิคและไม่ใช่ด้านเทคนิค มีอินเทอร์เฟซการแชทแบบกราฟิกรวมถึงการเข้าถึง API ของ CoPilot ตามฟังก์ชัน CoPilot สามารถตอบคำถามของคุณโดยการเรียกการสืบค้นที่มีอยู่ในฐานข้อมูล (InquiryAI) สร้างกราฟความรู้จากเอกสารของคุณ (SupportAI) และตอบคำถามความรู้ตามเอกสารของคุณ (SupportAI)
โปรดดูเอกสารอย่างเป็นทางการของเราเกี่ยวกับวิธีใช้ CoPilot
TigerGraph CoPilot ได้รับการออกแบบให้ขยายได้ง่าย บริการนี้สามารถกำหนดค่าให้ใช้ผู้ให้บริการ LLM ที่แตกต่างกัน สคีมากราฟที่แตกต่างกัน และเครื่องมือ LangChain ที่แตกต่างกัน บริการนี้ยังสามารถขยายเพื่อใช้บริการฝังที่แตกต่างกัน บริการการสร้าง LLM ที่แตกต่างกัน และเครื่องมือ LangChain ที่แตกต่างกัน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการขยายบริการ โปรดดูคู่มือนักพัฒนา
กลุ่มการทดสอบจะรวมอยู่ในไดเร็กทอรี tests
หากคุณต้องการเพิ่มการทดสอบเพิ่มเติม โปรดดูคำแนะนำที่นี่ เชลล์สคริปต์ run_tests.sh
ยังรวมอยู่ในโฟลเดอร์ซึ่งเป็นไดรเวอร์สำหรับการรันการทดสอบ วิธีที่ง่ายที่สุดในการใช้สคริปต์นี้คือเรียกใช้งานใน Docker Container เพื่อทำการทดสอบ
คุณสามารถทำการทดสอบสำหรับแต่ละบริการได้โดยไปที่ระดับบนสุดของไดเร็กทอรีของบริการและรัน python -m pytest
เช่น (จากระดับบนสุด)
cd copilot
python -m pytest
cd ..
ขั้นแรก ตรวจสอบให้แน่ใจว่าไฟล์การกำหนดค่าผู้ให้บริการ LLM ทั้งหมดของคุณทำงานอย่างถูกต้อง การกำหนดค่าจะถูกต่อเชื่อมเพื่อให้คอนเทนเนอร์เข้าถึงได้ ตรวจสอบให้แน่ใจว่าการขึ้นต่อกันทั้งหมด เช่น ฐานข้อมูลและ Milvus พร้อมแล้ว ถ้าไม่เช่นนั้น คุณสามารถเรียกใช้ไฟล์เขียนนักเทียบท่าที่รวมไว้เพื่อสร้างบริการเหล่านั้นได้
docker compose up -d --build
หากคุณต้องการใช้น้ำหนักและอคติในการบันทึกผลการทดสอบ คีย์ WandB API ของคุณจะต้องตั้งค่าในตัวแปรสภาพแวดล้อมบนเครื่องโฮสต์
export WANDB_API_KEY=KEY HERE
จากนั้น คุณสามารถสร้างคอนเทนเนอร์นักเทียบท่าจากไฟล์ Dockerfile.tests
และเรียกใช้สคริปต์ทดสอบในคอนเทนเนอร์ได้
docker build -f Dockerfile.tests -t copilot-tests:0.1 .
docker run -d -v $( pwd ) /configs/:/ -e GOOGLE_APPLICATION_CREDENTIALS=/GOOGLE_SERVICE_ACCOUNT_CREDS.json -e WANDB_API_KEY= $WANDB_API_KEY -it --name copilot-tests copilot-tests:0.1
docker exec copilot-tests bash -c " conda run --no-capture-output -n py39 ./run_tests.sh all all "
หากต้องการแก้ไขการทดสอบใดที่ดำเนินการ เราสามารถส่งอาร์กิวเมนต์ไปยังสคริปต์ ./run_tests.sh
ได้ ในปัจจุบัน เราสามารถกำหนดค่าบริการ LLM ที่จะใช้ (ค่าเริ่มต้นสำหรับทุกคน) สคีมาใดที่จะทดสอบ (ค่าเริ่มต้นสำหรับทุกคน) และจะใช้น้ำหนักและอคติสำหรับการบันทึกหรือไม่ (ค่าเริ่มต้นเป็นจริง) คำแนะนำของตัวเลือกต่างๆ มีดังต่อไปนี้:
พารามิเตอร์ตัวแรกของ run_tests.sh
คือสิ่งที่ LLM ที่จะทดสอบ ค่าเริ่มต้น all
ตัวเลือกคือ:
all
- ทำการทดสอบกับ LLM ทั้งหมดazure_gpt35
- ทำการทดสอบกับ GPT-3.5 ที่โฮสต์บน Azureopenai_gpt35
- ทำการทดสอบกับ GPT-3.5 ที่โฮสต์บน OpenAIopenai_gpt4
- ทำการทดสอบบน GPT-4 ที่โฮสต์บน OpenAIgcp_textbison
- ทำการทดสอบกับ text-bison ที่โฮสต์บน GCP พารามิเตอร์ตัวที่สองของ run_tests.sh
คือกราฟที่จะทดสอบ ค่าเริ่มต้น all
ตัวเลือกคือ:
all
- รันการทดสอบกับกราฟที่มีอยู่ทั้งหมดOGB_MAG
- ชุดข้อมูลเอกสารวิชาการจัดทำโดย: https://ogb.stanford.edu/docs/nodeprop/#ogbn-magDigtialInfra
- ชุดข้อมูลดิจิทัลแฝดโครงสร้างพื้นฐานดิจิทัลSynthea
- ชุดข้อมูลสุขภาพสังเคราะห์ หากคุณต้องการบันทึกผลการทดสอบไปที่ Weights and Biases (และมีการตั้งค่าข้อมูลรับรองที่ถูกต้องด้านบน) พารามิเตอร์สุดท้ายที่ run_tests.sh
จะมีค่าเริ่มต้นเป็นจริงโดยอัตโนมัติ หากคุณต้องการปิดการใช้งานการบันทึก Weights and Biases ให้ใช้ false
หากคุณต้องการสนับสนุน TigerGraph CoPilot โปรดอ่านเอกสารที่นี่