-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(llm):improve some RAG function UT(tests) #192
base: main
Are you sure you want to change the base?
Conversation
hugegraph-llm/run_tests.py
Outdated
@@ -0,0 +1,106 @@ | |||
#!/usr/bin/env python3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems we don't need it?
Also check other CI check, THX~
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also we should enable the test in the related CI file: (So it could run automatically)
like add a .github/workflows/graph_rag.yml
?
could refer:
- name: Test with pytest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
get it~ I will do it soon
export PYTHONPATH=$(pwd)/hugegraph-llm/src | ||
export SKIP_EXTERNAL_SERVICES=true | ||
cd hugegraph-llm | ||
python -m pytest src/tests/integration/test_graph_rag_pipeline.py -v |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://github.com/apache/incubator-hugegraph-ai/actions/runs/13693587346/job/38291894859?pr=192
And could check the CI status here (U could submit a PR in your own repo, select the upstream branch like
yanchaomei:main
to test it separately)

Also better not use main/master
as your default branch, keep it clean & it could sync the code with upstream
easily(one-click), if u want to modify some code u could checkout a new branch from main
like dev-xx
(This can avoid many potential conflicts and inconsistencies in the future, and also maintain clarity in using Git)
fix #167
Comprehensive Test Suite Implementation for HugeGraph-LLM
This PR implements a complete test suite for the HugeGraph-LLM project, covering all major components and ensuring code quality and reliability.
Summary of Test Implementation
1. Test Infrastructure
run_tests.py
script for easy test executionconftest.py
with test configuration and fixturestest_utils.py
for common testing functions2. Document Processing Tests
test_document.py
: Tests for document module imports and basic functionalitytest_document_splitter.py
: Tests for document chunking in different languagestest_text_loader.py
: Tests for loading text files with various encodings3. Integration Tests
test_graph_rag_pipeline.py
: End-to-end tests for graph-based RAG pipelinetest_kg_construction.py
: Tests for knowledge graph construction from documentstest_rag_pipeline.py
: Tests for standard RAG pipeline functionality4. Middleware Tests
test_middleware.py
: Tests for FastAPI middleware components5. Model Tests
test_openai_client.py
: Tests for OpenAI API integrationtest_qianfan_client.py
: Tests for Baidu Qianfan API integrationtest_ollama_client.py
: Tests for Ollama local model integrationtest_openai_embedding.py
: Tests for OpenAI embedding functionalitytest_ollama_embedding.py
: Tests for Ollama embedding functionalitytest_cohere_reranker.py
: Tests for Cohere reranking APItest_siliconflow_reranker.py
: Tests for SiliconFlow reranking APItest_init_reranker.py
: Tests for reranker initialization6. Operator Tests
test_check_schema.py
: Tests for schema validationtest_merge_dedup_rerank.py
: Tests for result merging and rerankingtest_nltk_helper.py
: Tests for NLP utilitiestest_print_result.py
: Tests for result output formattingtest_chunk_split.py
: Tests for document chunking strategiestest_word_extract.py
: Tests for keyword extractiontest_commit_to_hugegraph.py
: Tests for graph data writingtest_fetch_graph_data.py
: Tests for graph data retrievaltest_graph_rag_query.py
: Tests for graph-based RAG queriestest_schema_manager.py
: Tests for graph schema managementtest_build_gremlin_example_index.py
: Tests for Gremlin example indexingtest_build_semantic_index.py
: Tests for semantic indexingtest_build_vector_index.py
: Tests for vector index constructiontest_gremlin_example_index_query.py
: Tests for querying Gremlin examplestest_semantic_id_query.py
: Tests for semantic ID queriestest_vector_index_query.py
: Tests for vector index queriestest_gremlin_generate.py
: Tests for Gremlin query generationtest_keyword_extract.py
: Tests for LLM-based keyword extractiontest_property_graph_extract.py
: Tests for property graph extractionTesting Approach
The test suite employs several testing strategies:
Key Features
Results
All tests pass successfully, ensuring the reliability and correctness of the HugeGraph-LLM codebase. The test suite provides a solid foundation for future development and helps maintain code quality as the project evolves.