Przeglądaj źródła

Fix too long context issue. (#4735)

### What problem does this PR solve?

#4728

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
tags/v0.16.0
Kevin Hu 8 miesięcy temu
rodzic
commit
2a07eb69a7
No account linked to committer's email address

+ 2
- 0
graphrag/general/community_reports_extractor.py Wyświetl plik

@@ -70,6 +70,8 @@ class CommunityReportsExtractor(Extractor):
weight = ents["weight"]
ents = ents["nodes"]
ent_df = pd.DataFrame(self._get_entity_(ents)).dropna()#[{"entity": n, **graph.nodes[n]} for n in ents])
if ent_df.empty:
continue
ent_df["entity"] = ent_df["entity_name"]
del ent_df["entity_name"]
rela_df = pd.DataFrame(self._get_relation_(list(ent_df["entity"]), list(ent_df["entity"]), 10000))

+ 2
- 1
graphrag/general/extractor.py Wyświetl plik

@@ -99,6 +99,7 @@ class Extractor:
with ThreadPoolExecutor(max_workers=max_workers) as exe:
threads = []
for i, (cid, ck) in enumerate(chunks):
ck = truncate(ck, int(self._llm.max_length*0.8))
threads.append(
exe.submit(self._process_single_content, (cid, ck)))

@@ -241,5 +242,5 @@ class Extractor:
)
use_prompt = prompt_template.format(**context_base)
logging.info(f"Trigger summary: {entity_or_relation_name}")
summary = self._chat(use_prompt, [{"role": "assistant", "content": "Output: "}], {"temperature": 0.8})
summary = self._chat(use_prompt, [{"role": "user", "content": "Output: "}], {"temperature": 0.8})
return summary

+ 1
- 1
graphrag/general/graph_extractor.py Wyświetl plik

@@ -120,7 +120,7 @@ class GraphExtractor(Extractor):
token_count += num_tokens_from_string(hint_prompt + response)

results = response or ""
history = [{"role": "system", "content": hint_prompt}, {"role": "assistant", "content": response}]
history = [{"role": "system", "content": hint_prompt}, {"role": "user", "content": response}]

# Repeat to ensure we maximize entity count
for i in range(self._max_gleanings):

+ 1
- 1
graphrag/light/graph_extractor.py Wyświetl plik

@@ -91,7 +91,7 @@ class GraphExtractor(Extractor):
).format(**self._context_base, input_text=content)

try:
gen_conf = {"temperature": 0.3}
gen_conf = {"temperature": 0.8}
final_result = self._chat(hint_prompt, [{"role": "user", "content": "Output:"}], gen_conf)
token_count += num_tokens_from_string(hint_prompt + final_result)
history = pack_user_ass_to_openai_messages(hint_prompt, final_result)

Ładowanie…
Anuluj
Zapisz