Commit 786b69d4 authored by Wade's avatar Wade

update grap param

parent ddcc501a
...@@ -19,3 +19,12 @@ curl -X POST http://localhost:8000/indexDocuments \ ...@@ -19,3 +19,12 @@ curl -X POST http://localhost:8000/indexDocuments \
curl -X POST http://localhost:8000/indexGraph \
-H "Content-Type: application/json" \
-d '{"user_id": "user456", "username": "Bob", "content": "What is the capital of UK?", "metadata": {}}'
{"result": "Document indexed successfully"}
...@@ -33,6 +33,16 @@ type Input struct { ...@@ -33,6 +33,16 @@ type Input struct {
// DocumentInput 结构体用于文档索引接口 // DocumentInput 结构体用于文档索引接口
type DocumentInput struct { type DocumentInput struct {
// UserID string `json:"user_id"`
// Username string `json:"username"`
Content string `json:"content"`
Metadata map[string]interface{} `json:"metadata,omitempty"`
}
// GraphInput 结构体用于文档索引接口
type GraphInput struct {
UserID string `json:"user_id"`
Username string `json:"username"`
Content string `json:"content"` Content string `json:"content"`
Metadata map[string]interface{} `json:"metadata,omitempty"` Metadata map[string]interface{} `json:"metadata,omitempty"`
} }
...@@ -113,10 +123,26 @@ func main() { ...@@ -113,10 +123,26 @@ func main() {
_ = graphRetriever _ = graphRetriever
genkit.DefineFlow(g, "indexGraph", func(ctx context.Context, input *DocumentInput) (string, error) { genkit.DefineFlow(g, "indexGraph", func(ctx context.Context, input *GraphInput) (string, error) {
opt := graphrag.IndexReqOption{
UserId: input.UserID,
UserName: input.Username,
}
if _, ok := input.Metadata[graphrag.DocNameKey]; !ok {
// Generate random docName.
docName, err := graphrag.GenerateRandomDocName(8)
if err != nil {
return "", fmt.Errorf("generate random docName for document %w", err)
}
input.Metadata[graphrag.DocNameKey] = docName
}
doc := ai.DocumentFromText(input.Content, input.Metadata) doc := ai.DocumentFromText(input.Content, input.Metadata)
err := graphIndexer.Index(ctx, &ai.IndexerRequest{ err := graphIndexer.Index(ctx, &ai.IndexerRequest{
Documents: []*ai.Document{doc}, Documents: []*ai.Document{doc},
Options: &opt,
}) })
if err != nil { if err != nil {
return "", fmt.Errorf("index document: %w", err) return "", fmt.Errorf("index document: %w", err)
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment