โครงการนี้ได้รับการออกแบบมาเพื่อใช้ตัวแทนที่สามารถโต้ตอบกับฐานข้อมูลกราฟเช่น Neo4J ผ่านเลเยอร์ความหมายโดยใช้การเรียกใช้ฟังก์ชัน OpenAI เลเยอร์ความหมายจะช่วยให้ตัวแทนมีชุดเครื่องมือที่แข็งแกร่งทำให้สามารถโต้ตอบกับฐานข้อมูลกราฟตามเจตนาของผู้ใช้ อ่านเพิ่มเติมในโพสต์บล็อก
ในการเริ่มต้นโครงการเรียกใช้คำสั่งต่อไปนี้:
docker-compose up
เปิด http://localhost:8501 ในเบราว์เซอร์ของคุณเพื่อโต้ตอบกับตัวแทน
เอเจนต์ใช้เครื่องมือหลายอย่างในการโต้ตอบกับฐานข้อมูลกราฟ Neo4J อย่างมีประสิทธิภาพ:
คุณต้องกำหนดตัวแปรสภาพแวดล้อมต่อไปนี้ในไฟล์. .env
OPENAI_API_KEY=<YOUR_OPENAI_API_KEY>
NEO4J_URI=<YOUR_NEO4J_URI>
NEO4J_USERNAME=<YOUR_NEO4J_USERNAME>
NEO4J_PASSWORD=<YOUR_NEO4J_PASSWORD>
โครงการนี้มีบริการต่อไปนี้ที่ห่อเป็นคอนเทนเนอร์ Docker
neo4j-semantic-layer ของ Langchain เพื่อใช้ความสามารถในการเรียก OpenAI LLM และฟังก์ชั่นlocalhost:8501 หากคุณต้องการที่จะเติม DB ด้วยชุดข้อมูลภาพยนตร์ตัวอย่างคุณสามารถเรียกใช้ ingest.py สคริปต์นำเข้าข้อมูลเกี่ยวกับภาพยนตร์และการให้คะแนนของผู้ใช้ ในการทำงานภายในคอนเทนเนอร์ API Docker (แนะนำ) ทำสิ่งต่อไปนี้:
# access container shell
docker exec -it < container id for llm-movieagent-api > bash
# run script
python ingest.py นอกจากนี้สคริปต์ยังสร้างดัชนีเต็มเท็กซ์สองดัชนีซึ่งใช้ในการแมปข้อมูลจากอินพุตผู้ใช้ไปยังฐานข้อมูล ชุดข้อมูลขึ้นอยู่กับชุดข้อมูล Movielens ซึ่งมีให้เป็นโครงการ Recommendation ใน Neo4J Sandbox
ยินดีต้อนรับผลงาน!