Monitor NFS servers - critical diagnostics to understand issues

Ideally we would be able to monitor the NFS servers we rely on in the grafana isntances directly, but unless we can't do that we need at least some way to understand if the NFS servers are overloaded.
I understand it as we rely on cloud provided NFS services GCP Filestore and AWS EFS. Ideally, we should at least learn how to monitor them using the cloud console if we can't provide grafana instances access to the datasources and import pre-defined dashboards for this.
Cloud services

GCP's Filestore service has notes on monitoring
AWS EFS service has notes on monitoring
Azure Files has notes on monitoring

Action points

[ ] Explore the options to monitor NFS services performance and come up with refined action points

I believe @yuvipanda already has some graphs that could be added

I just encountered this kind of issue on EFS, and it took a lot of digging to understand what is going on.
EFS has 3 different throughput modes. Bursting is the default and AWS does some sneaky stuff to make sure it's initially fast, but if you don't put enough data on it right away you can hit a wall and have really variable and hard to diagnose performance.
The key metrics for EFS to look at are Burst Credit Balance, Permitted Throughput, and Throughput Utilization.
If that's what you are encountering, I'd be happy to pull together some of the resources that I found while trying to diagnose it.


error code 500

Describe the bug

I'm getting error - status code 500
"Failed to call service script/new_script1. Validation error: Fetch failed with status code 500"
To Reproduce

Just run the script; which used to work
here is the script

alias: Script Chiller
sequence:

service: gpt4vision.image_analyzer
metadata: {}
data:
provider: Anthropic
include_filename: false
target_width: 1280
detail: high
max_tokens: 100
temperature: 0.5
message: what red numbers do you see?
image_entity:
- camera.chiller
response_variable: response
service: notify.mobile_app_iphone15****
data:
message: "{{response.response_text}}"
service: input_text.set_value
data:
value: "{{response.response_text}}"
target:
entity_id: input_text.gpt4vision_response
description: ""

Version

[x] I am on the latest version

Expected behavior

Screenshots

Logs
Paste relevant logs here

This error originated from a custom integration.

Logger: homeassistant
Source: custom_components/gpt4vision/request_handlers.py:246
integration: GPT-4 Vision (documentation, issues)
First occurred: 15:03:36 (1 occurrences)
Last logged: 15:03:36

Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/script/__init__.py", line 652, in _async_run
    return await self.script.async_run(script_vars, context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1770, in async_run
    return await asyncio.shield(create_eager_task(run.async_run()))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 465, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 529, in _async_step
    self._handle_exception(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 559, in _handle_exception
    raise exception
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 527, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 764, in _async_call_service_step
    response_data = await self._async_run_long_action(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 727, in _async_run_long_action
    return await long_task
           ^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2731, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2774, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/gpt4vision/__init__.py", line 223, in image_analyzer
    image_data = await client.fetch(image_url)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/gpt4vision/request_handlers.py", line 246, in fetch
    raise ServiceValidationError(
homeassistant.exceptions.ServiceValidationError: Fetch failed with status code 500

---------------
Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/commands.py:797
integration: Home Assistant WebSocket API (documentation, issues)
First occurred: July 21, 2024 at 19:37:06 (7 occurrences)
Last logged: 15:54:45

[281472562727664] Fetch failed with status code 500
[281469690863984] Fetch failed with status code 500
[281469691203872] Fetch failed with status code 500
[281470418659088] Fetch failed with status code 500
[281472240775328] Fetch failed with status code 500

-----------
Logger: homeassistant.helpers.script.websocket_api_script
Source: helpers/script.py:2002
First occurred: July 21, 2024 at 19:37:06 (7 occurrences)
Last logged: 15:54:45

websocket_api script: Error executing script. Error for call_service at pos 1: Fetch failed with status code 500```

**Additional context**
<!-- Add any other context about the problem here. -->

Please add these lines to your configuration.yaml to enable debugging:
logger:
  logs:
    custom_components.gpt4vision: debug

This should log the following line when making a request:
Fetching image from <image_url>

Can you try to open that url in your browser and see if you can access it? You'll need to be on the same network as your Home Assistant Instance as it is probably going to be some local ip address.

I think I understood what the problem was! The cameras I have are from Nest. When I restarted for Home Assistant, I received a message that the cameras needed to be re-authenticated. That's how it is with Nest's cameras, once a week or so, you must renew access to the cameras (annoying!). Anyway, now it works! Thanks, and sorry I bothered you.

No problem! Glad to hear it's working again!


source info in JBrowse

The feature source always says "PomBase" but  should display the PMID   of the supporting db_xref (especially for features)
i.e the one we display for source coordinates on pombase pages
https://www.pombase.org/jbrowse/?loc=mitochondrial%3A1..14627&tracks=PomBase forward strand features%2CPomBase reverse strand features%2CDNA sequence&highlight=

ACtually for the mitochondrial geneomethe features afre not showing the new 'sources'
https://www.pombase.org/gene/SPMIT.09
but the wtf's do show this info
https://www.pombase.org/gene/SPCC1620.02
also  we get an error for the mitochondrial Genome in  JBrowse (it displays OK  but says there was an error for the reverse stand). But all of the features are on one strand....

Also we get an error for the mitochondrial Genome in JBrowse (it displays OK but says there
was an error for the reverse stand). But all of the features are on one strand....

There's a separate issue for that: #784

The feature source always says "PomBase" but should display the PMID of the supporting db_xref

That's the Source column from the GFF file.  I think "PomBase" is correct.  I'll add a Dbxref attribute to the files and see if that's visible in JBrowse.
https://github.com/The-Sequence-Ontology/Specifications/blob/master/gff3.md
"The source is a free text qualifier intended to describe the algorithm or operating procedure that generated this feature. Typically this is the name of a piece of software, such as "Genescan" or a database name, such as "Genbank." In effect, the source is used to extend the feature ontology by adding a qualifier to the type creating a new composite type that is a subclass of the type in the type column."

but the wtf's do show this info
https://www.pombase.org/gene/SPCC1620.02

The source comes from the /db_xref of the feature in the contig file.  SPCC1620.02 has:
FT                   /db_xref="PMID:30991417"

OK, the source does display for the features  where the gene coordinated changed, e.g.
https://www.pombase.org/gene/SPRRNA.01
so this is OK


Please share name list for CUB-200 that you have employed

Could you please share your name list for CUB-200 dataset

done.


DOC: kwarg persist

Hi! I'm trying out hvplot and working through the Plotting guide here:
https://hvplot.pyviz.org/user_guide/Plotting.html
and would like to know what persist does as it isn't described.
I tried df.hvplot? but that doesn't provide any docstring.

I think persist is loading the whole dataframe/dataset into memory and reusing it each time across cores: https://github.com/pydata/xarray/issues/1344 and http://xarray.pydata.org/en/stable/generated/xarray.Dataset.persist.html

Yup, @ahuang11 is correct, it's a dask specific option to persist the data to memory. I think it would make a lot of sense to have a page dedicated to describing all the options grouped into sensible chunks. We could also consider putting a lot of it into the docstring but they might get somewhat unwieldy.

I tried df.hvplot? but that doesn't provide any docstring.

That will be fixed in the next release.


HDDS-7294. Move ozone manager background services to a separate package

What changes were proposed in this pull request?
Ozone manager has four background services, and they share package 'org.apache.hadoop.ozone.om' with over 40 classes. It would be more clear to have background services in a separate package.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-7294
How was this patch tested?
unit tests

@adoroszlai could you trigger verifications, please? BTW do you know why verifications didn't start automatically? I'm not a first-time contributor.

BTW do you know why verifications didn't start automatically? I'm not a first-time contributor.

Must be a github bug, I noticed this for others as well.


Thanos compact leaves partial blocks on S3 when doing deletes

Thanos, Prometheus and Golang version used:
Thanos: v0.36.1
Prometheus: v2.54.1 (using sidecar)
Golang: go1.22.6
Object Storage Provider: S3
We've been leveraging Thanos for our long term metrics for about 13 months now. One thing I've noticed, but never addressed, is the partial blocks count constantly increasing as time goes on. I didn't notice any major upload issues from our sidecar instances but figured out it was deleted blocks. Every block deleted has its 'folder' (ie 01JA5SKZ82CJNVMHAK6ZR9RE6D) and a 'subfolder' chunks left behind.
No obvious issues w/ compaction, downsampling, or retention. Here is a current log showing such
compactor                | ts=2024-10-17T17:40:47.800815487Z caller=fetcher.go:623 level=info component=block.BaseFetcher msg="successfully synchronized block metadata" duration=7.532362539s duration_ms=7532 cached=758 returned=758 partial=24872
What you expected to happen:
I'd expect Thanos also remove these directory objects so it doesn't output thousands of info files in docker logs like this every 5m
compactor                | ts=2024-10-17T17:45:47.116627349Z caller=clean.go:59 level=info msg="deleted aborted partial upload" block=01J9T5X3SP0ANNJH80RK7J1DQ2 thresholdAge=48h0m0s
compactor                | ts=2024-10-17T17:45:47.116681196Z caller=clean.go:49 level=info msg="found partially uploaded block; marking for deletion" block=01J9KQYSSANGK37W371JWDZKTR
compactor                | ts=2024-10-17T17:45:47.121624247Z caller=clean.go:59 level=info msg="deleted aborted partial upload" block=01J9KQYSSANGK37W371JWDZKTR thresholdAge=48h0m0s
compactor                | ts=2024-10-17T17:45:47.121679123Z caller=clean.go:49 level=info msg="found partially uploaded block; marking for deletion" block=01J9W3BY9STJXSX54TTX273NXM
compactor                | ts=2024-10-17T17:45:47.126779616Z caller=clean.go:59 level=info msg="deleted aborted partial upload" block=01J9W3BY9STJXSX54TTX273NXM thresholdAge=48h0m0s
compactor                | ts=2024-10-17T17:45:47.126802449Z caller=clean.go:49 level=info msg="found partially uploaded block; marking for deletion" block=01J9YGRC91YCZES4JV4758NAMF
Additional Notes:
We send metrics to two primary S3 buckets. I've cleaned one of the two using MinIO client by

getting a list of all blocks at top level
iterating through list and performing a rm like so

for i in cat /tmp/bucket-ls; do docker-compose exec mc mc rm thanos/store-metrics/$i; done
This effectively removes the empties and leaves those with any metadata in them because a basic rm cannot delete anything with metadata in it.
Is this normal behavior? If so, could an extra step be added to the delete code to perform another rm on the empty block dir object?

@dosu This is not the case. As I mentioned, the block files are getting deleted once --delete-delay time is reached. It's just leaving the block folders behind.
Here are the command options being used in our docker compose service config
      - compact
      - --data-dir=/data/compact
      - --log.level=info
      - --objstore.config-file=/bucket.yml
      - --http-address=<IP_ADDRESS>:10922
      - --disable-admin-operations
      - --web.external-prefix=/
      - --web.route-prefix=/
      - --consistency-delay=30m
      - --retention.resolution-raw=400d
      - --retention.resolution-5m=400d
      - --retention.resolution-1h=750d
      - --block-files-concurrency=8
      - --compact.concurrency=8
      - --downsample.concurrency=4
      - --wait

Some additional information.
I copied a block marked for deletion to test with. A recursive rm does delete all of the objects with /<block_id> as well as from /<block_id>/chunks
But this leaves the 'folders' behind. Going back w/ just rm command will clean these up as I noted above. Compact sees these as partial blocks and it's rather annoying seeing the output in the docker logs on the 5m cleanup intervals when the count gets large.


docs: use correct babel plugin format in example

Summary

If you wrap individual plugins in the babel plugins array, it throws an error detailed here: Plugins[0][1] must be an object, false, or undefined
This PR removes that, as even I didn't realise the issue until re-reading the docs.

Ignore this actually 😄  I thought this was the reason behind my build issue but on second inspection it turns out I was wrong!


Run a clustering algorithm on the exported data to understand the data

Description
Create an unsupervised clustering algorithm utilizing a python clustering library. This algorithm will help the team understand and use the data from Floop's database more efficiently.
Open questions

What data from the Firestore is going to be evaluated?

Just Comment Thread data? or Student Engagement Metrics?

How will the data be structured?

Check with #3 on how data is exported

What cluster groups will be needed?
What Clustering Algorithm is the best for the given data, structure, and desired clusters?

Resources

10 Clustering Algroithms w/ examples
Clustering with K-means

Time Estimate

10-12 hours

Steps needed:

Compare each item in the list of strings using the Levenshtein distance. The use of the python library python-Levenshtein can be utilized.
Place the flattened results into a list. Ensure to pair the original string with the calculated distance.
Use the data from the list to graph the points
Use a clustering method to group the data in like clusters. See above for clustering algorithm options.

Example using Hierarchy Cluster.

Time Spent

Date
Activity
Time Spent

1/21/22
Researching clustering
1 hour

1/22/22
Researching clustering (cont...)
2 hours

1/24/22
Researching converting string to clusterable data (Levenshtein, Jaro-Winkler, etc...)
2 hours

1/25/22
Initial test to combine Levenshtein and Hierarchical clustering
1 hour

1/29/22
Coded proof of concept script / created PR
5 hours

Estimated: 10-12 hours
Actual: 11 hours


Update README.md

fixbug:./onekey.sh all 编译报错 #35

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

LGTM


fix: add branch coverage for chsh

Issue #, if available:
Description of changes:
Testing done:
Merge Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your pull request.
General

[ ] I have read the CONTRIBUTING doc
[ ] I used the commit message format described in CONTRIBUTING
[ ] I have updated any necessary documentation, including READMEs and API docs (if appropriate)

Tests

[ ] I have added tests that prove my fix is effective or that my feature works (if appropriate)
[ ] I have checked that my tests are not configured for a specific region or account (if appropriate)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report
Patch coverage has no change and project coverage change: +0.29 :tada:

Comparison is base (6fb5f4e) 99.70% compared to head (78837f7) 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@             Coverage Diff             @@
##             main       #97      +/-   ##
===========================================
+ Coverage   99.70%   100.00%   +0.29%
===========================================
  Files          26        26
  Lines        1028      1028
  Branches      161       161
===========================================
+ Hits         1025      1028       +3
+ Misses          1         0       -1
+ Partials        2         0       -2

see 1 file with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


HTTP: support persistent connections ("keep-alive")

When an HTTP(S) client performs a session with a server that needs more than one round trip,
as is typical for instance when requesting a certificate and confirming its reception and acceptance,
it makes much sense not to close in between the underlying TCP connection or even TLS connection.
Quoting from the current HTTP RFC 7230, section 6.3, https://tools.ietf.org/html/rfc7230#section-6.3:

HTTP/1.1 defaults to the use of "persistent connections",
allowing multiple requests and responses to be carried over a single connection.
The "close" connection option is used to signal that a connection will not persist after the current request/response.
HTTP implementations SHOULD support persistent connections.
...
If the received protocol is HTTP/1.0, the "keep-alive" connection option is present, the recipient is not a proxy,
and the recipient wishes to honor the HTTP/1.0 "keep-alive" mechanism, the connection will persist after the current response;

So far the basic HTTP client integrated in OpenSSL does not support this
(and neither the very primitive HTTP test server in apps/lib/http_server.c)
although it would be good to have in particular for the CMP implementation.
As a prerequisite to implementing this, it would be helpful to adjust the HTTP API
documented in  OSSL_HTTP_REQ_CTX.pod and OSSL_HTTP_transfer.pod
such that the OSSL_HTTP_REQ_CTX can be reused for further requests.
After doing so, it would be pretty straightforward to extend the state machine
with a flag indicating whether client and server side agree on keeping the connection.

If this proposal finds support, I can likely do the implementation.
Since 3.0 will export the new high-level HTTP API in OSSL_HTTP_transfer.podfor the first time,
it would be beneficial to do the necessary API adjustments before 3.0 feature freeze,
such that it can be released with 3.0 and does not need to be revised soon thereafter to support the feature.
The "persistent connections" feature itself would then just need one or two extra functions,
namely to request (or reject) the persistence of connections and to check the current status.
I think we could do also the feature itself before 3.0 closing, since it is not difficult
and does not affect the pre-existing HTTP uses of OpenSSL 1.1.1, which only take one round-trip.
What do others think?

If this proposal finds support, I can likely do the implementation.
Since 3.0 will export the new high-level HTTP API in OSSL_HTTP_transfer.podfor the first time,
it would be beneficial to do the necessary API adjustments before 3.0 feature freeze,
such that it can be released with 3.0 and does not need to be revised soon thereafter to support the feature.
The "persistent connections" feature itself would then just need one or two extra functions,
namely to request (or reject) the persistence of connections and to check the current status.
I think we could do also the feature itself before 3.0 closing, since it is not difficult
and does not affect the pre-existing HTTP uses of OpenSSL 1.1.1, which only take one round-trip.
What do others think?

Y'all know what I am going to say :)
I am not a member of the project.  But Akamai is a sponsor of the FIPS 3.0 work, we would like to see everyone on the project focused on just doing what the OMC already agreed was necessary to get the release done.

Y'all know what I am going to say :)
I am not a member of the project.  But Akamai is a sponsor of the FIPS 3.0 work, we would like to see everyone on the project focused on just doing what the OMC already agreed was necessary to get the release done.

What do others think about

having just the API preparation before 3.0
when would be a good time to implement the feature?

What do others think about

having just the API preparation before 3.0
when would be a good time to implement the feature?

This seems like a reasonable suggestion.
@DDvO, if you are implementing it, I don't see this impacting the 3.0 timeline.

This seems like a reasonable suggestion.
@DDvO, if you are implementing it, I don't see this impacting the 3.0 timeline.

@paulidale, that depends on who reviews it...

@paulidale, that depends on who reviews it...

And how much reviewing it requires.

And how much reviewing it requires.

I'm going to tackle this soon.

Just please keep in mind that OpenSSL runs inside servers that have hundreds or thousands of connections, or are otherwise resource-aware.

I'd say everything should be resource-aware :)
The keep-alive feature is implemented in OpenSSL in #15053 essentially just for the HTTP client side, which has full control on whether persistent connections are effectively used.
The HTTP server side is present in OpenSSL only in the form of test/mock server code, and as such not meant (nor described) for productive use.

Closing since the implementation in #15053 is merged :tada:


Read and Write equations formula values

@totravel, how to insert and read in OOXML by formula
Example:
word - https://stackoverflow.com/questions/25709775/reading-equations-formula-from-word-docx
excel - https://stackoverflow.com/questions/6309109/using-open-xml-how-do-you-insert-a-formula-into-an-excel-2010-worksheet

Oh, It's not easy to implement such a feature. It requires some way to represent formulas in memory. It takes time.


ISPN-12314 lsof check is too expensive

https://issues.redhat.com/browse/ISPN-12314

Run lsof a single time, fail the build if it does not exist
Remove the ps and jps checks

It is working in RHEL7 and RHEL8.
Here are my 5 cents:
RHEL7 has lsof in the path: /usr/sbin/lsof
RHEL8 has lsof in the path: /usr/bin/lsof
Once you have the setup working, IMHO, I do prefer to have lsof instead of ps and jps.
lsof can require some local configuration but once we have it working, it will be easy to find out the root cause because we look only for the port number.
The port numbers change at a lower frequency when compared with PID searched with some pattern.
+1 to merge


feat: Depcrate SourceMapGetter, move methods to ModuleLoader

This commit deprecates SourceMapGetter trait, JsRuntime::source_map_getter
option and updates ModuleLoader trait to have the same methods as
SourceMapGetter.
In real usage it's always implementor of ModuleLoader that also implements
SourceMapGetter. It makes little sense to keep these two trait separate.
This will open up doors for native source map support that is being
developed in https://github.com/denoland/deno_core/pull/819.
SourceMapGetter is scheduled to be removed in 0.297.0.

Codecov Report
Attention: Patch coverage is 57.14286% with 15 lines in your changes missing coverage. Please review.

Project coverage is 81.53%. Comparing base (0c7f83e) to head (562768e).
Report is 60 commits behind head on main.

Files
Patch %
Lines

core/source_map.rs
50.00%
8 Missing :warning:

core/modules/loaders.rs
30.00%
7 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #823      +/-   ##
==========================================
+ Coverage   81.43%   81.53%   +0.09%
==========================================
  Files          97       98       +1
  Lines       23877    24324     +447
==========================================
+ Hits        19445    19833     +388
- Misses       4432     4491      +59

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Nested tabs in list

Sometimes is is necessary to show some information about some related object in list. Like users and profiles. In those cases it would be very handy if list accepted tabs. Tabs should be shown only in read-only mode, so without any way to edit that information. I don't know should it be under column or list.
Possible configuration
lolita do
  list do
     column :email
     column :profile do
       tab(:default) do
         field :first_name
         field :last_name
       end
     end
     # or maybe this one
    tab :for => :profile do
      field :first_name
      field :last_name
    end
  end
end

i not made my mind yet, so i look forward for discussion

tab is not right object in column or list configuration, field_set is better
    lolita do
      list do
        column :profile do
          field_set do
            field :first_name
            field :last_name
          end
     end
   end


{ } instead of begin .. end

I know there has been a discussion when conceiving AL regarding the use of begin end in the code parts. If I recall right it was decided not to change that to { } (curly brackets), to not make the differences with C/AL to big. The curly brackets would solely be used for bordering the various other section (objects, fields, actions, etc.).
I must admit I was in favor of that. Now working with VSCode for some time, I find it somewhat confusing to have both in the same object. And with me various attendees to my workshops. Especially those (and that's what, among others, the modern development experience is aiming at) who do come from environments like Visual Studio. Not in the least the youngster our world is needing.
So the request is to get rid of the begin .. end construct.

The discussion is not over, but MS has not yet made a final statement.
After my renewed statement in #645, the discussion was moved from Stanislaw to #63. But i waiting for an answer.
To have everything in one place and to show the urgency of this change, I would also recommend moving your issue to #63 ^^. @lvanvugt

Thanx, Marcus. Had been searching my *** off, but hadn't found a post. So great that you noticed mine. And I will add my comment to #63.


Register here Click not works as expected

Repro steps:

Server is running
Calling http://localhost:8080/
Browser displays a login page successfully
Press registry here or Go to registration page

Error:
Whitelabel Error Page
Expected result:
Registration page should display successfully

Done!!
Work fine now!!


Errors occurred during the pipeline run, see logs for more details.

⠏ GraphRAG Indexer
├── Loading Input (text) - 1 files loaded (0 filtered) ━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00 0:00:00
├── create_base_text_units
├── create_base_extracted_entities
└── create_summarized_entities
├── create_summarized_entities ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━  82% 0:00:01 0:00:00
❌ Errors occurred during the pipeline run, see logs for more details.

If you've followed the getting started guide, you will see that some folders were created where you ran the indexing pipeline. There should be a folder called output\{run_id}\reports\logs.json that contains more information

Hi @hanxu49
Could you please add more details? Perhaps used configuration and the logs that @eyast mentions :)

I met the same issue. And here is the logs:
{"type": "error", "data": "Error Invoking LLM", "stack": "Traceback (most recent call last):\n  File "/root/miniconda3/envs/graphrag/lib/python3.11/site-packages/graphrag/llm/base/base_llm.py", line 53, in _invoke\n    output = await self._execute_llm(input, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File "/root/miniconda3/envs/graphrag/lib/python3.11/site-packages/graphrag/llm/openai/openai_embeddings_llm.py", line 36, in _execute_llm\n    embedding = await self.client.embeddings.create(\n                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File "/root/miniconda3/envs/graphrag/lib/python3.11/site-packages/openai/resources/embeddings.py", line 215, in create\n    return await self._post(\n           ^^^^^^^^^^^^^^^^^\n  File "/root/miniconda3/envs/graphrag/lib/python3.11/site-packages/openai/_base_client.py", line 1816, in post\n    return await self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File "/root/miniconda3/envs/graphrag/lib/python3.11/site-packages/openai/_base_client.py", line 1514, in request\n    return await self._request(\n           ^^^^^^^^^^^^^^^^^^^^\n  File "/root/miniconda3/envs/graphrag/lib/python3.11/site-packages/openai/_base_client.py", line 1610, in _request\n    raise self._make_status_error_from_response(err.response) from None\nopenai.NotFoundError: Error code: 404 - {'detail': 'Not Found'}\n", "source": "Error code: 404 - {'detail': 'Not Found'}", "details": {"input": [""OLD GENTLEMAN":The Old Gentleman, a notable character with a distinctive appearance, .......
And my config is as following:
encoding_model: cl100k_base
skip_workflows: []
llm:
api_key: Not Empty
type: openai_chat # or azure_openai_chat
model: Qwen1.5-14B-Chat
model_supports_json: true # recommended if this is available for your model.
max_tokens: 24000
request_timeout: 180.0
api_base: http://localhost:6006/v1
api_version: 2024-02-15-preview
organization: <organization_id>
deployment_name: <azure_model_deployment_name>
tokens_per_minute: 150_000 # set a leaky bucket throttle
requests_per_minute: 10_000 # set a leaky bucket throttle
max_retries: 10
max_retry_wait: 10.0
sleep_on_rate_limit_recommendation: true # whether to sleep when azure suggests wait-times
concurrent_requests: 25 # the number of parallel inflight requests that may be made
parallelization:
stagger: 0.3
num_threads: 50 # the number of threads to use for parallel processing
async_mode: threaded # or asyncio
embeddings:
parallelization: override the global parallelization settings for embeddings
async_mode: threaded # or asyncio
llm:
api_key: Not Empty
type: openai_embedding # or azure_openai_embedding
model: bge-large-zh-v15
api_base: http://localhost:6006
Is that the embedding type uncorrected?If so,what type should I use?
This is my local embedding service and I run it in Xinference.
Thank you!

the error log is like this: [
{"type": "error", "data": "Community Report Extraction Error", "stack": "Traceback (most recent call last):\n  File "/usr/local/lib/python3.10/dist-packages/graphrag/index/graph/extractors/community_reports/community_reports_extractor.py", line 58, in call\n    await self._llm(\n  File "/usr/local/lib/python3.10/dist-packages/graphrag/llm/openai/json_parsing_llm.py", line 34, in call\n    result = await self._delegate(input, **kwargs)\n  File "/usr/local/lib/python3.10/dist-packages/graphrag/llm/openai/openai_token_replacing_llm.py", line 37, in call\n    return await self._delegate(input, **kwargs)\n  File "/usr/local/lib/python3.10/dist-packages/graphrag/llm/openai/openai_history_tracking_llm.py", line 33, in call\n    output = await self._delegate(input, **kwargs)\n  File "/usr/local/lib/python3.10/dist-packages/graphrag/llm/base/caching_llm.py", line 104, in call\n    result = await self._delegate(input, **kwargs)\n  File "/usr/local/lib/python3.10/dist-packages/graphrag/llm/base/rate_limiting_llm.py", line 177, in call\n    result, start = await execute_with_retry()\n  File "/usr/local/lib/python3.10/dist-packages/graphrag/llm/base/rate_limiting_llm.py", line 159, in execute_with_retry\n    async for attempt in retryer:\n  File "/usr/local/lib/python3.10/dist-packages/tenacity/asyncio/init.py", line 166, in anext\n    do = await self.iter(retry_state=self._retry_state)\n  File "/usr/local/lib/python3.10/dist-packages/tenacity/asyncio/init.py", line 153, in iter\n    result = await action(retry_state)\n  File "/usr/local/lib/python3.10/dist-packages/tenacity/_utils.py", line 99, in inner\n    return call(*args, **kwargs)\n  File "/usr/local/lib/python3.10/dist-packages/tenacity/init.py", line 398, in \n    self._add_action_func(lambda rs: rs.outcome.result())\n  File "/usr/lib/python3.10/concurrent/futures/_base.py", line 451, in result\n    return self.__get_result()\n  File "/usr/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result\n    raise self._exception\n  File "/usr/local/lib/python3.10/dist-packages/graphrag/llm/base/rate_limiting_llm.py", line 165, in execute_with_retry\n    return await do_attempt(), start\n  File "/usr/local/lib/python3.10/dist-packages/graphrag/llm/base/rate_limiting_llm.py", line 147, in do_attempt\n    return await self._delegate(input, **kwargs)\n  File "/usr/local/lib/python3.10/dist-packages/graphrag/llm/base/base_llm.py", line 48, in call\n    return await self._invoke_json(input, **kwargs)\n  File "/usr/local/lib/python3.10/dist-packages/graphrag/llm/openai/openai_chat_llm.py", line 82, in _invoke_json\n    result = await generate()\n  File "/usr/local/lib/python3.10/dist-packages/graphrag/llm/openai/openai_chat_llm.py", line 74, in generate\n    await self._native_json(input, **{**kwargs, "name": call_name})\n  File "/usr/local/lib/python3.10/dist-packages/graphrag/llm/openai/openai_chat_llm.py", line 108, in _native_json\n    json_output = try_parse_json_object(raw_output)\n  File "/usr/local/lib/python3.10/dist-packages/graphrag/llm/openai/utils.py", line 93, in try_parse_json_object\n    result = json.loads(input)\n  File "/usr/lib/python3.10/json/init.py", line 346, in loads\n    return _default_decoder.decode(s)\n  File "/usr/lib/python3.10/json/decoder.py", line 337, in decode\n    obj, end = self.raw_decode(s, idx=_w(s, 0).end())\n  File "/usr/lib/python3.10/json/decoder.py", line 355, in raw_decode\n    raise JSONDecodeError("Expecting value", s, err.value) from None\njson.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)\n", "source": "Expecting value: line 1 column 1 (char 0)", "details": null},
{"type": "error", "data": "Error executing verb "window" in create_final_community_reports: 'community'", "stack": "Traceback (most recent call last):\n  File "/usr/local/lib/python3.10/dist-packages/datashaper/workflow/workflow.py", line 410, in _execute_verb\n    result = node.verb.func(**verb_args)\n  File "/usr/local/lib/python3.10/dist-packages/datashaper/engine/verbs/window.py", line 73, in window\n    window = __window_function_mapwindow_operation\n  File "/usr/local/lib/python3.10/dist-packages/pandas/core/frame.py", line 4102, in getitem\n    indexer = self.columns.get_loc(key)\n  File "/usr/local/lib/python3.10/dist-packages/pandas/core/indexes/range.py", line 417, in get_loc\n    raise KeyError(key)\nKeyError: 'community'\n", "source": "'community'", "details": null},
{"type": "error", "data": "Error running pipeline!", "stack": "Traceback (most recent call last):\n  File "/usr/local/lib/python3.10/dist-packages/graphrag/index/run.py", line 323, in run_pipeline\n    result = await workflow.run(context, callbacks)\n  File "/usr/local/lib/python3.10/dist-packages/datashaper/workflow/workflow.py", line 369, in run\n    timing = await self._execute_verb(node, context, callbacks)\n  File "/usr/local/lib/python3.10/dist-packages/datashaper/workflow/workflow.py", line 410, in _execute_verb\n    result = node.verb.func(**verb_args)\n  File "/usr/local/lib/python3.10/dist-packages/datashaper/engine/verbs/window.py", line 73, in window\n    window = __window_function_mapwindow_operation\n  File "/usr/local/lib/python3.10/dist-packages/pandas/core/frame.py", line 4102, in getitem\n    indexer = self.columns.get_loc(key)\n  File "/usr/local/lib/python3.10/dist-packages/pandas/core/indexes/range.py", line 417, in get_loc\n    raise KeyError(key)\nKeyError: 'community'\n", "source": "'community'", "details": null}
]

I am also getting the same error. When I look into indexing-engine.log I see the following error. "    raise self._make_status_error_from_response(err.response) from None
openai.AuthenticationError: Error code: 401 - {'statusCode': 401, 'message': 'Unauthorized. Access token is missing, invalid, audience is incorrect (https://cognitiveservices.azure.com), or have expired.'}"
Any Idea why it is failing on a non existent URL  https://cognitiveservices.azure.com

{"type": "error", "data": "Error executing verb "orderby" in create_base_text_units: 'id'", "stack": "Traceback (most recent call last):\n  File "D:\ProgramData\anaconda3\envs\graphrag\Lib\site-packages\datashaper\workflow\workflow.py", line 410, in _execute_verb\n    result = node.verb.func(**verb_args)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File "D:\ProgramData\anaconda3\envs\graphrag\Lib\site-packages\datashaper\engine\verbs\orderby.py", line 32, in orderby\n    output = input_table.sort_values(by=columns, ascending=ascending)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File "D:\ProgramData\anaconda3\envs\graphrag\Lib\site-packages\pandas\core\frame.py", line 7189, in sort_values\n    k = self._get_label_or_level_values(by[0], axis=axis)\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File "D:\ProgramData\anaconda3\envs\graphrag\Lib\site-packages\pandas\core\generic.py", line 1911, in _get_label_or_level_values\n    raise KeyError(key)\nKeyError: 'id'\n", "source": "'id'", "details": null}
{"type": "error", "data": "Error running pipeline!", "stack": "Traceback (most recent call last):\n  File "D:\ai\git\graphrag\graphrag\index\run.py", line 323, in run_pipeline\n    result = await workflow.run(context, callbacks)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File "D:\ProgramData\anaconda3\envs\graphrag\Lib\site-packages\datashaper\workflow\workflow.py", line 369, in run\n    timing = await self._execute_verb(node, context, callbacks)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File "D:\ProgramData\anaconda3\envs\graphrag\Lib\site-packages\datashaper\workflow\workflow.py", line 410, in _execute_verb\n    result = node.verb.func(**verb_args)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File "D:\ProgramData\anaconda3\envs\graphrag\Lib\site-packages\datashaper\engine\verbs\orderby.py", line 32, in orderby\n    output = input_table.sort_values(by=columns, ascending=ascending)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File "D:\ProgramData\anaconda3\envs\graphrag\Lib\site-packages\pandas\core\frame.py", line 7189, in sort_values\n    k = self._get_label_or_level_values(by[0], axis=axis)\n        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File "D:\ProgramData\anaconda3\envs\graphrag\Lib\site-packages\pandas\core\generic.py", line 1911, in _get_label_or_level_values\n    raise KeyError(key)\nKeyError: 'id'\n", "source": "'id'", "details": null}

create_base_entity_graph出错"D:\ProgramData\anaconda3\envs\graphrag\Lib\site-packages\graphrag\llm\openai\openai_chat_llm.py", line 58, in _execute_llm\n    return completion.choices[0].message.content\n           ^^^^^^^^^^^^^^^^^^\nAttributeError: 'str' object has no attribute 'choices'\n", "source": "'str' object has no attribute 'choices'",

when I try to create_base_entity_graph, the error occurs:
{"type": "error", "data": "Error Invoking LLM", "stack": "  | ExceptionGroup: multiple connection attempts failed (2 sub-exceptions)\n  +-+---------------- 1 ----------------\n    | Traceback (most recent call last):\n    |   File "D:\Anaconda\Lib\site-packages\anyio\_core\_sockets.py", line 170, in try_connect\n    |     stream = await asynclib.connect_tcp(remote_host, remote_port, local_address)\n    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File "D:\Anaconda\Lib\site-packages\anyio\_backends\_asyncio.py", line 2258, in connect_tcp\n    |     await get_running_loop().create_connection(\n    |   File "D:\Anaconda\Lib\asyncio\base_events.py", line 1122, in create_connection\n    |     raise exceptions[0]\n    |   File "D:\Anaconda\Lib\asyncio\base_events.py", line 1104, in create_connection\n    |     sock = await self._connect_sock(\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File "D:\Anaconda\Lib\asyncio\base_events.py", line 1007, in _connect_sock\n    |     await self.sock_connect(sock, address)\n    |   File "D:\Anaconda\Lib\asyncio\proactor_events.py", line 729, in sock_connect\n    |     return await self._proactor.connect(sock, address)\n    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |   File "D:\Anaconda\Lib\asyncio\tasks.py", line 385, in __wakeup\n    |     future.result()\n    |   File "D:\Anaconda\Lib\asyncio\windows_events.py", line 803, in _poll\n    |     value = callback(transferred, key, ov)\n    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n    |
.....File "D:\Anaconda\Lib\site-packages\pandas\core\indexers\utils.py", line 390, in check_key_length\n    raise ValueError("Columns must be same length as key")\nValueError: Columns must be same length as key\n", "source": "Columns must be same length as key", "details": null}
how can I fix this???

same problem

same problem,i used Ollama method and lmstudio to embeddings, this is my yaml

encoding_model: cl100k_base
skip_workflows: []
llm:
  api_key: ollama
  type: openai_chat # or azure_openai_chat
  model: qwen2
  model_supports_json: true # recommended if this is available for your model.
  # max_tokens: 4000
  # request_timeout: 180.0
  api_base: http://localhost:11434/v1
  # api_version: 2024-02-15-preview
  # organization: <organization_id>
  # deployment_name: <azure_model_deployment_name>
  # tokens_per_minute: 150_000 # set a leaky bucket throttle
  # requests_per_minute: 10_000 # set a leaky bucket throttle
  # max_retries: 10
  # max_retry_wait: 10.0
  # sleep_on_rate_limit_recommendation: true # whether to sleep when azure suggests wait-times
  # concurrent_requests: 25 # the number of parallel inflight requests that may be made
  # temperature: 0 # temperature for sampling
  # top_p: 1 # top-p sampling
  # n: 1 # Number of completions to generate

parallelization:
  stagger: 0.3
  # num_threads: 50 # the number of threads to use for parallel processing

async_mode: threaded # or asyncio

embeddings:
  ## parallelization: override the global parallelization settings for embeddings
  async_mode: threaded # or asyncio
  llm:
    api_key: lm-studio
    type: openai_embedding # or azure_openai_embedding
    model: /nomic-ai/nomic-embed-text-v1.5-GGUF/nomic-embed-text-v1.5.Q4_K_M.gguf
    api_base: http://localhost:1234/v1
    # api_version: 2024-02-15-preview
    # organization: <organization_id>
    # deployment_name: <azure_model_deployment_name>
    # tokens_per_minute: 150_000 # set a leaky bucket throttle
    # requests_per_minute: 10_000 # set a leaky bucket throttle
    # max_retries: 10
    # max_retry_wait: 10.0
    # sleep_on_rate_limit_recommendation: true # whether to sleep when azure suggests wait-times
    # concurrent_requests: 25 # the number of parallel inflight requests that may be made
    # batch_size: 16 # the number of documents to send in a single request
    # batch_max_tokens: 8191 # the maximum number of tokens to send in a single request
    # target: required # or optional

chunks:
  size: 1200
  overlap: 100
  group_by_columns: [id] # by default, we don't allow chunks to cross documents

input:
  type: file # or blob
  file_type: text # or csv
  base_dir: "input"
  file_encoding: utf-8
  file_pattern: ".*\\.txt$"

cache:
  type: file # or blob
  base_dir: "cache"
  # connection_string: <azure_blob_storage_connection_string>
  # container_name: <azure_blob_storage_container_name>

storage:
  type: file # or blob
  base_dir: "output/${timestamp}/artifacts"
  # connection_string: <azure_blob_storage_connection_string>
  # container_name: <azure_blob_storage_container_name>

reporting:
  type: file # or console, blob
  base_dir: "output/${timestamp}/reports"
  # connection_string: <azure_blob_storage_connection_string>
  # container_name: <azure_blob_storage_container_name>

entity_extraction:
  ## llm: override the global llm settings for this task
  ## parallelization: override the global parallelization settings for this task
  ## async_mode: override the global async_mode settings for this task
  prompt: "prompts/entity_extraction.txt"
  entity_types: [organization,person,geo,event]
  max_gleanings: 1

summarize_descriptions:
  ## llm: override the global llm settings for this task
  ## parallelization: override the global parallelization settings for this task
  ## async_mode: override the global async_mode settings for this task
  prompt: "prompts/summarize_descriptions.txt"
  max_length: 500

claim_extraction:
  ## llm: override the global llm settings for this task
  ## parallelization: override the global parallelization settings for this task
  ## async_mode: override the global async_mode settings for this task
  # enabled: true
  prompt: "prompts/claim_extraction.txt"
  description: "Any claims or facts that could be relevant to information discovery."
  max_gleanings: 1

community_reports:
  ## llm: override the global llm settings for this task
  ## parallelization: override the global parallelization settings for this task
  ## async_mode: override the global async_mode settings for this task
  prompt: "prompts/community_report.txt"
  max_length: 2000
  max_input_length: 8000

cluster_graph:
  max_cluster_size: 10

embed_graph:
  enabled: false # if true, will generate node2vec embeddings for nodes
  # num_walks: 10
  # walk_length: 40
  # window_size: 2
  # iterations: 3
  # random_seed: 597832

umap:
  enabled: false # if true, will generate UMAP embeddings for nodes

snapshots:
  graphml: false
  raw_entities: false
  top_level_nodes: false

local_search:
  # text_unit_prop: 0.5
  # community_prop: 0.1
  # conversation_history_max_turns: 5
  # top_k_mapped_entities: 10
  # top_k_relationships: 10
  # llm_temperature: 0 # temperature for sampling
  # llm_top_p: 1 # top-p sampling
  # llm_n: 1 # Number of completions to generate
  # max_tokens: 12000

global_search:
  # llm_temperature: 0 # temperature for sampling
  # llm_top_p: 1 # top-p sampling
  # llm_n: 1 # Number of completions to generate
  # max_tokens: 12000
  # data_max_tokens: 12000
  # map_max_tokens: 1000
  # reduce_max_tokens: 2000
  # concurrency: 32

qwen2 is 7B
nomic-embed-text-v1.5.Q4_K_M is based on gemma it q8 2B

{"type": "error", "data": "Error Invoking LLM", "stack": "Traceback (most recent call last):\n  File "/root/graphrag/graphrag/llm/base/base_llm.py", line 53, in _invoke\n    output = await self._execute_llm(input, **kwargs)\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File "/root/graphrag/graphrag/llm/openai/openai_chat_llm.py", line 58, in _execute_llm\n    return completion.choices[0].message.content\n           ~~~~~~~~~~~~~~~~~~^^^\nTypeError: 'NoneType' object is not subscriptable\n", "source": "'NoneType' object is not subscriptable", "details": {"input": "\n-Goal-\nGiven a text document that is potentially relevant to this activity and a list of entity types, identify all entities of those types from the text and all relationships among the identified entities.\n\n-Steps-\n1. Identify all entities. For each identified entity, extract the following information:\n- entity_name: Name of the entity, capitalized\n- entity_type: One of the following types: [organization,person,geo,event]\n- entity_description: Comprehensive description of the entity's attributes and activities\nFormat each entity as ("entity"<|><entity_name><|><entity_type><|><entity_description>\n\n2. From the entities identified in step 1, identify all pairs of (source_entity, target_entity) that are clearly related to each other.\nFor each pair of related entities, extract the following information:\n- source_entity: name of the source entity, as identified in step 1\n- target_entity: name of the target entity, as identified in step 1\n- relationship_description: explanation as to why you think the source entity and the target entity are related to each other\n- relationship_strength: a numeric score indicating strength of the relationship between the source entity and target entity\n Format each relationship as ("relationship"<|><source_entity><|><target_entity><|><relationship_description><|><relationship_strength>)\n\n3. Return output in English as a single list of all the entities and relationships identified in steps 1 and 2. Use ## as the list delimiter.\n\n4. When finished, output <|COMPLETE|>\n\n######################\n-Examples-\n######################\nExample 1:\n\nEntity_types: [person, technology, mission, organization, location]\nText:\nwhile Alex clenched his jaw, the buzz of frustration dull against the backdrop of Taylor's authoritarian certainty. It was this competitive undercurrent that kept him alert, the sense that his and Jordan's shared commitment to discovery was an unspoken rebellion against Cruz's narrowing vision of control and order.\n\nThen Taylor did something unexpected. They paused beside Jordan and, for a moment, observed the device with something akin to reverence. \u201cIf this tech can be understood..." Taylor said, their voice quieter, "It could change the game for us. For all of us.\u201d\n\nThe underlying dismissal earlier seemed to falter, replaced by a glimpse of reluctant respect for the gravity of what lay in their hands. Jordan looked up, and for a fleeting heartbeat, their eyes locked with Taylor's, a wordless clash of wills softening into an uneasy truce.\n\nIt was a small transformation, barely perceptible, but one that Alex noted with an inward nod. They had all been brought here by different paths\n################\nOutput:\n("entity"<|>"Alex"<|>"person"<|>"Alex is a character who experiences frustration and is observant of the dynamics among other characters.")##\n("entity"<|>"Taylor"<|>"person"<|>"Taylor is portrayed with authoritarian certainty and shows a moment of reverence towards a device, indicating a change in perspective.")##\n("entity"<|>"Jordan"<|>"person"<|>"Jordan shares a commitment to discovery and has a significant interaction with Taylor regarding a device.")##\n("entity"<|>"Cruz"<|>"person"<|>"Cruz is associated with a vision of control and order, influencing the dynamics among other characters.")##\n("entity"<|>"The Device"<|>"technology"<|>"The Device is central to the story, with potential game-changing implications, and is revered by Taylor.")##\n("relationship"<|>"Alex"<|>"Taylor"<|>"Alex is affected by Taylor's authoritarian certainty and observes changes in Taylor's attitude towards the device."<|>7)##\n("relationship"<|>"Alex"<|>"Jordan"<|>"Alex and Jordan share a commitment to discovery, which contrasts with Cruz's vision."<|>6)##\n("relationship"<|>"Taylor"<|>"Jordan"<|>"Taylor and Jordan interact directly regarding the device, leading to a moment of mutual respect and an uneasy truce."<|>8)##\n("relationship"<|>"Jordan"<|>"Cruz"<|>"Jordan's commitment to discovery is in rebellion against Cruz's vision of control and order."<|>5)##\n("relationship"<|>"Taylor"<|>"The Device"<|>"Taylor shows reverence towards the device, indicating its importance and potential impact."<|>9)
The same mistake

Consolidating alternate model issues here: #657

I met the same issue. And here is the logs: {"type": "error", "data": "Error Invoking LLM", "stack": "Traceback (most recent call last):\n File "/root/miniconda3/envs/graphrag/lib/python3.11/site-packages/graphrag/llm/base/base_llm.py", line 53, in _invoke\n output = await self._execute_llm(input, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/root/miniconda3/envs/graphrag/lib/python3.11/site-packages/graphrag/llm/openai/openai_embeddings_llm.py", line 36, in _execute_llm\n embedding = await self.client.embeddings.create(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/root/miniconda3/envs/graphrag/lib/python3.11/site-packages/openai/resources/embeddings.py", line 215, in create\n return await self._post(\n ^^^^^^^^^^^^^^^^^\n File "/root/miniconda3/envs/graphrag/lib/python3.11/site-packages/openai/_base_client.py", line 1816, in post\n return await self.request(cast_to, opts, stream=stream, stream_cls=stream_cls)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/root/miniconda3/envs/graphrag/lib/python3.11/site-packages/openai/_base_client.py", line 1514, in request\n return await self._request(\n ^^^^^^^^^^^^^^^^^^^^\n File "/root/miniconda3/envs/graphrag/lib/python3.11/site-packages/openai/_base_client.py", line 1610, in _request\n raise self._make_status_error_from_response(err.response) from None\nopenai.NotFoundError: Error code: 404 - {'detail': 'Not Found'}\n", "source": "Error code: 404 - {'detail': 'Not Found'}", "details": {"input": [""OLD GENTLEMAN":The Old Gentleman, a notable character with a distinctive appearance, .......
And my config is as following: encoding_model: cl100k_base skip_workflows: [] llm: api_key: Not Empty type: openai_chat # or azure_openai_chat model: Qwen1.5-14B-Chat model_supports_json: true # recommended if this is available for your model. max_tokens: 24000 api_base: http://localhost:6006/v1
parallelization: stagger: 0.3
async_mode: threaded # or asyncio
embeddings: async_mode: threaded # or asyncio llm: api_key: Not Empty type: openai_embedding # or azure_openai_embedding model: bge-large-zh-v15 api_base: http://localhost:6006
Is that the embedding type uncorrected?If so,what type should I use? This is my local embedding service and I run it in Xinference. Thank you!

解决了吗

{"type": "error", "data": "Error Invoking LLM", "stack": "Traceback (most recent call last):\n File "/root/graphrag/graphrag/llm/base/base_llm.py", line 53, in _invoke\n output = await self._execute_llm(input, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/root/graphrag/graphrag/llm/openai/openai_chat_llm.py", line 58, in _execute_llm\n return completion.choices[0].message.content\n ~~~~~~~~~~~~~~~~~~^^^\nTypeError: 'NoneType' object is not subscriptable\n", "source": "'NoneType' object is not subscriptable", "details": {"input": "\n-Goal-\nGiven a text document that is potentially relevant to this activity and a list of entity types, identify all entities of those types from the text and all relationships among the identified entities.\n\n-Steps-\n1. Identify all entities. For each identified entity, extract the following information:\n- entity_name: Name of the entity, capitalized\n- entity_type: One of the following types: [organization,person,geo,event]\n- entity_description: Comprehensive description of the entity's attributes and activities\nFormat each entity as ("entity"<|><entity_name><|><entity_type><|><entity_description>\n\n2. From the entities identified in step 1, identify all pairs of (source_entity, target_entity) that are clearly related to each other.\nFor each pair of related entities, extract the following information:\n- source_entity: name of the source entity, as identified in step 1\n- target_entity: name of the target entity, as identified in step 1\n- relationship_description: explanation as to why you think the source entity and the target entity are related to each other\n- relationship_strength: a numeric score indicating strength of the relationship between the source entity and target entity\n Format each relationship as ("relationship"<|><source_entity><|><target_entity><|><relationship_description><|><relationship_strength>)\n\n3. Return output in English as a single list of all the entities and relationships identified in steps 1 and 2. Use ## as the list delimiter.\n\n4. When finished, output <|COMPLETE|>\n\n######################\n-Examples-\n######################\nExample 1:\n\nEntity_types: [person, technology, mission, organization, location]\nText:\nwhile Alex clenched his jaw, the buzz of frustration dull against the backdrop of Taylor's authoritarian certainty. It was this competitive undercurrent that kept him alert, the sense that his and Jordan's shared commitment to discovery was an unspoken rebellion against Cruz's narrowing vision of control and order.\n\nThen Taylor did something unexpected. They paused beside Jordan and, for a moment, observed the device with something akin to reverence. \u201cIf this tech can be understood..." Taylor said, their voice quieter, "It could change the game for us. For all of us.\u201d\n\nThe underlying dismissal earlier seemed to falter, replaced by a glimpse of reluctant respect for the gravity of what lay in their hands. Jordan looked up, and for a fleeting heartbeat, their eyes locked with Taylor's, a wordless clash of wills softening into an uneasy truce.\n\nIt was a small transformation, barely perceptible, but one that Alex noted with an inward nod. They had all been brought here by different paths\n################\nOutput:\n("entity"<|>"Alex"<|>"person"<|>"Alex is a character who experiences frustration and is observant of the dynamics among other characters.")##\n("entity"<|>"Taylor"<|>"person"<|>"Taylor is portrayed with authoritarian certainty and shows a moment of reverence towards a device, indicating a change in perspective.")##\n("entity"<|>"Jordan"<|>"person"<|>"Jordan shares a commitment to discovery and has a significant interaction with Taylor regarding a device.")##\n("entity"<|>"Cruz"<|>"person"<|>"Cruz is associated with a vision of control and order, influencing the dynamics among other characters.")##\n("entity"<|>"The Device"<|>"technology"<|>"The Device is central to the story, with potential game-changing implications, and is revered by Taylor.")##\n("relationship"<|>"Alex"<|>"Taylor"<|>"Alex is affected by Taylor's authoritarian certainty and observes changes in Taylor's attitude towards the device."<|>7)##\n("relationship"<|>"Alex"<|>"Jordan"<|>"Alex and Jordan share a commitment to discovery, which contrasts with Cruz's vision."<|>6)##\n("relationship"<|>"Taylor"<|>"Jordan"<|>"Taylor and Jordan interact directly regarding the device, leading to a moment of mutual respect and an uneasy truce."<|>8)##\n("relationship"<|>"Jordan"<|>"Cruz"<|>"Jordan's commitment to discovery is in rebellion against Cruz's vision of control and order."<|>5)##\n("relationship"<|>"Taylor"<|>"The Device"<|>"Taylor shows reverence towards the device, indicating its importance and potential impact."<|>9)
The same mistake

解决了吗

{"type": "error", "data": "Error Invoking LLM", "stack": "Traceback (most recent call last):\n File "/root/graphrag/graphrag/llm/base/base_llm.py", line 53, in _invoke\n output = await self._execute_llm(input, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/root/graphrag/graphrag/llm/openai/openai_chat_llm.py", line 58, in _execute_llm\n return completion.choices[0].message.content\n ~~~~~~~~~~~~~~~~~~^^^\nTypeError: 'NoneType' object is not subscriptable\n", "source": "'NoneType' object is not subscriptable", "details": {"input": "\n-Goal-\nGiven a text document that is potentially relevant to this activity and a list of entity types, identify all entities of those types from the text and all relationships among the identified entities.\n\n-Steps-\n1. Identify all entities. For each identified entity, extract the following information:\n- entity_name: Name of the entity, capitalized\n- entity_type: One of the following types: [organization,person,geo,event]\n- entity_description: Comprehensive description of the entity's attributes and activities\nFormat each entity as ("entity"<|><entity_name><|><entity_type><|><entity_description>\n\n2. From the entities identified in step 1, identify all pairs of (source_entity, target_entity) that are clearly related to each other.\nFor each pair of related entities, extract the following information:\n- source_entity: name of the source entity, as identified in step 1\n- target_entity: name of the target entity, as identified in step 1\n- relationship_description: explanation as to why you think the source entity and the target entity are related to each other\n- relationship_strength: a numeric score indicating strength of the relationship between the source entity and target entity\n Format each relationship as ("relationship"<|><source_entity><|><target_entity><|><relationship_description><|><relationship_strength>)\n\n3. Return output in English as a single list of all the entities and relationships identified in steps 1 and 2. Use ## as the list delimiter.\n\n4. When finished, output <|COMPLETE|>\n\n######################\n-Examples-\n######################\nExample 1:\n\nEntity_types: [person, technology, mission, organization, location]\nText:\nwhile Alex clenched his jaw, the buzz of frustration dull against the backdrop of Taylor's authoritarian certainty. It was this competitive undercurrent that kept him alert, the sense that his and Jordan's shared commitment to discovery was an unspoken rebellion against Cruz's narrowing vision of control and order.\n\nThen Taylor did something unexpected. They paused beside Jordan and, for a moment, observed the device with something akin to reverence. \u201cIf this tech can be understood..." Taylor said, their voice quieter, "It could change the game for us. For all of us.\u201d\n\nThe underlying dismissal earlier seemed to falter, replaced by a glimpse of reluctant respect for the gravity of what lay in their hands. Jordan looked up, and for a fleeting heartbeat, their eyes locked with Taylor's, a wordless clash of wills softening into an uneasy truce.\n\nIt was a small transformation, barely perceptible, but one that Alex noted with an inward nod. They had all been brought here by different paths\n################\nOutput:\n("entity"<|>"Alex"<|>"person"<|>"Alex is a character who experiences frustration and is observant of the dynamics among other characters.")##\n("entity"<|>"Taylor"<|>"person"<|>"Taylor is portrayed with authoritarian certainty and shows a moment of reverence towards a device, indicating a change in perspective.")##\n("entity"<|>"Jordan"<|>"person"<|>"Jordan shares a commitment to discovery and has a significant interaction with Taylor regarding a device.")##\n("entity"<|>"Cruz"<|>"person"<|>"Cruz is associated with a vision of control and order, influencing the dynamics among other characters.")##\n("entity"<|>"The Device"<|>"technology"<|>"The Device is central to the story, with potential game-changing implications, and is revered by Taylor.")##\n("relationship"<|>"Alex"<|>"Taylor"<|>"Alex is affected by Taylor's authoritarian certainty and observes changes in Taylor's attitude towards the device."<|>7)##\n("relationship"<|>"Alex"<|>"Jordan"<|>"Alex and Jordan share a commitment to discovery, which contrasts with Cruz's vision."<|>6)##\n("relationship"<|>"Taylor"<|>"Jordan"<|>"Taylor and Jordan interact directly regarding the device, leading to a moment of mutual respect and an uneasy truce."<|>8)##\n("relationship"<|>"Jordan"<|>"Cruz"<|>"Jordan's commitment to discovery is in rebellion against Cruz's vision of control and order."<|>5)##\n("relationship"<|>"Taylor"<|>"The Device"<|>"Taylor shows reverence towards the device, indicating its importance and potential impact."<|>9)
The same mistake

解决了吗

解决了，又碰到了另一个问题

请问是怎么解决的呢？

{"type": "error", "data": "Error Invoking LLM", "stack": "Traceback (most recent call last):\n File "/root/graphrag/graphrag/llm/base/base_llm.py", line 53, in _invoke\n output = await self._execute_llm(input, **kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/root/graphrag/graphrag/llm/openai/openai_chat_llm.py", line 58, in _execute_llm\n return completion.choices[0].message.content\n ~~~~~~~~~~~~~~~~~~^^^\nTypeError: 'NoneType' object is not subscriptable\n", "source": "'NoneType' object is not subscriptable", "details": {"input": "\n-Goal-\nGiven a text document that is potentially relevant to this activity and a list of entity types, identify all entities of those types from the text and all relationships among the identified entities.\n\n-Steps-\n1. Identify all entities. For each identified entity, extract the following information:\n- entity_name: Name of the entity, capitalized\n- entity_type: One of the following types: [organization,person,geo,event]\n- entity_description: Comprehensive description of the entity's attributes and activities\nFormat each entity as ("entity"<|><entity_name><|><entity_type><|><entity_description>\n\n2. From the entities identified in step 1, identify all pairs of (source_entity, target_entity) that are clearly related to each other.\nFor each pair of related entities, extract the following information:\n- source_entity: name of the source entity, as identified in step 1\n- target_entity: name of the target entity, as identified in step 1\n- relationship_description: explanation as to why you think the source entity and the target entity are related to each other\n- relationship_strength: a numeric score indicating strength of the relationship between the source entity and target entity\n Format each relationship as ("relationship"<|><source_entity><|><target_entity><|><relationship_description><|><relationship_strength>)\n\n3. Return output in English as a single list of all the entities and relationships identified in steps 1 and 2. Use ## as the list delimiter.\n\n4. When finished, output <|COMPLETE|>\n\n######################\n-Examples-\n######################\nExample 1:\n\nEntity_types: [person, technology, mission, organization, location]\nText:\nwhile Alex clenched his jaw, the buzz of frustration dull against the backdrop of Taylor's authoritarian certainty. It was this competitive undercurrent that kept him alert, the sense that his and Jordan's shared commitment to discovery was an unspoken rebellion against Cruz's narrowing vision of control and order.\n\nThen Taylor did something unexpected. They paused beside Jordan and, for a moment, observed the device with something akin to reverence. \u201cIf this tech can be understood..." Taylor said, their voice quieter, "It could change the game for us. For all of us.\u201d\n\nThe underlying dismissal earlier seemed to falter, replaced by a glimpse of reluctant respect for the gravity of what lay in their hands. Jordan looked up, and for a fleeting heartbeat, their eyes locked with Taylor's, a wordless clash of wills softening into an uneasy truce.\n\nIt was a small transformation, barely perceptible, but one that Alex noted with an inward nod. They had all been brought here by different paths\n################\nOutput:\n("entity"<|>"Alex"<|>"person"<|>"Alex is a character who experiences frustration and is observant of the dynamics among other characters.")##\n("entity"<|>"Taylor"<|>"person"<|>"Taylor is portrayed with authoritarian certainty and shows a moment of reverence towards a device, indicating a change in perspective.")##\n("entity"<|>"Jordan"<|>"person"<|>"Jordan shares a commitment to discovery and has a significant interaction with Taylor regarding a device.")##\n("entity"<|>"Cruz"<|>"person"<|>"Cruz is associated with a vision of control and order, influencing the dynamics among other characters.")##\n("entity"<|>"The Device"<|>"technology"<|>"The Device is central to the story, with potential game-changing implications, and is revered by Taylor.")##\n("relationship"<|>"Alex"<|>"Taylor"<|>"Alex is affected by Taylor's authoritarian certainty and observes changes in Taylor's attitude towards the device."<|>7)##\n("relationship"<|>"Alex"<|>"Jordan"<|>"Alex and Jordan share a commitment to discovery, which contrasts with Cruz's vision."<|>6)##\n("relationship"<|>"Taylor"<|>"Jordan"<|>"Taylor and Jordan interact directly regarding the device, leading to a moment of mutual respect and an uneasy truce."<|>8)##\n("relationship"<|>"Jordan"<|>"Cruz"<|>"Jordan's commitment to discovery is in rebellion against Cruz's vision of control and order."<|>5)##\n("relationship"<|>"Taylor"<|>"The Device"<|>"Taylor shows reverence towards the device, indicating its importance and potential impact."<|>9)
The same mistake

解决了吗

解决了，又碰到了另一个问题

请问是怎么解决的呢？

我是因为模型名称和模型url没对应

when I try to create_base_entity_graph, the error occurs: {"type": "error", "data": "Error Invoking LLM", "stack": " | ExceptionGroup: multiple connection attempts failed (2 sub-exceptions)\n +-+---------------- 1 ----------------\n | Traceback (most recent call last):\n | File "D:\Anaconda\Lib\site-packages\anyio_core_sockets.py", line 170, in try_connect\n | stream = await asynclib.connect_tcp(remote_host, remote_port, local_address)\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n | File "D:\Anaconda\Lib\site-packages\anyio_backends_asyncio.py", line 2258, in connect_tcp\n | await get_running_loop().create_connection(\n | File "D:\Anaconda\Lib\asyncio\base_events.py", line 1122, in create_connection\n | raise exceptions[0]\n | File "D:\Anaconda\Lib\asyncio\base_events.py", line 1104, in create_connection\n | sock = await self._connect_sock(\n | ^^^^^^^^^^^^^^^^^^^^^^^^^\n | File "D:\Anaconda\Lib\asyncio\base_events.py", line 1007, in _connect_sock\n | await self.sock_connect(sock, address)\n | File "D:\Anaconda\Lib\asyncio\proactor_events.py", line 729, in sock_connect\n | return await self._proactor.connect(sock, address)\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n | File "D:\Anaconda\Lib\asyncio\tasks.py", line 385, in __wakeup\n | future.result()\n | File "D:\Anaconda\Lib\asyncio\windows_events.py", line 803, in _poll\n | value = callback(transferred, key, ov)\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n | .....File "D:\Anaconda\Lib\site-packages\pandas\core\indexers\utils.py", line 390, in check_key_length\n raise ValueError("Columns must be same length as key")\nValueError: Columns must be same length as key\n", "source": "Columns must be same length as key", "details": null} how can I fix this???

请问解决了吗

when I try to create_base_entity_graph, the error occurs: {"type": "error", "data": "Error Invoking LLM", "stack": " | ExceptionGroup: multiple connection attempts failed (2 sub-exceptions)\n +-+---------------- 1 ----------------\n | Traceback (most recent call last):\n | File "D:\Anaconda\Lib\site-packages\anyio_core_sockets.py", line 170, in try_connect\n | stream = await asynclib.connect_tcp(remote_host, remote_port, local_address)\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n | File "D:\Anaconda\Lib\site-packages\anyio_backends_asyncio.py", line 2258, in connect_tcp\n | await get_running_loop().create_connection(\n | File "D:\Anaconda\Lib\asyncio\base_events.py", line 1122, in create_connection\n | raise exceptions[0]\n | File "D:\Anaconda\Lib\asyncio\base_events.py", line 1104, in create_connection\n | sock = await self._connect_sock(\n | ^^^^^^^^^^^^^^^^^^^^^^^^^\n | File "D:\Anaconda\Lib\asyncio\base_events.py", line 1007, in _connect_sock\n | await self.sock_connect(sock, address)\n | File "D:\Anaconda\Lib\asyncio\proactor_events.py", line 729, in sock_connect\n | return await self._proactor.connect(sock, address)\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n | File "D:\Anaconda\Lib\asyncio\tasks.py", line 385, in __wakeup\n | future.result()\n | File "D:\Anaconda\Lib\asyncio\windows_events.py", line 803, in _poll\n | value = callback(transferred, key, ov)\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n | .....File "D:\Anaconda\Lib\site-packages\pandas\core\indexers\utils.py", line 390, in check_key_length\n raise ValueError("Columns must be same length as key")\nValueError: Columns must be same length as key\n", "source": "Columns must be same length as key", "details": null} how can I fix this???

请问解决了吗

首先看下你的LLM，有没有成功运行，如果成功运行的话，将graphrag-local-ollama\graphrag\index\verbs\graph\clustering\cluster_graph.py，文件替换为
Copyright (c) 2024 Microsoft Corporation.
Licensed under the MIT License
"""A module containing cluster_graph, apply_clustering and run_layout methods definition."""
import logging
from enum import Enum
from random import Random
from typing import Any, cast
import networkx as nx
import pandas as pd
from datashaper import TableContainer, VerbCallbacks, VerbInput, progress_iterable, verb
from graphrag.index.utils import gen_uuid, load_graph
from .typing import Communities
log = logging.getLogger(name)
@verb(name="cluster_graph")
def cluster_graph(
input: VerbInput,
callbacks: VerbCallbacks,
strategy: dict[str, Any],
column: str,
to: str,
level_to: str | None = None,
**_kwargs,
) -> TableContainer:
output_df = cast(pd.DataFrame, input.get_input())
results = output_df[column].apply(lambda graph: run_layout(strategy, graph))
community_map_to = "communities"
output_df[community_map_to] = results

level_to = level_to or f"{to}_level"
output_df[level_to] = output_df.apply(
    lambda x: list({level for level, _, _ in x[community_map_to]}), axis=1
)
output_df[to] = [None] * len(output_df)

num_total = len(output_df)

graph_level_pairs_column: list[list[tuple[int, str]]] = []
for _, row in progress_iterable(
    output_df.iterrows(), callbacks.progress, num_total
):
    levels = row[level_to]
    graph_level_pairs: list[tuple[int, str]] = []

    for level in levels:
        graph = "\n".join(
            nx.generate_graphml(
                apply_clustering(
                    cast(str, row[column]),
                    cast(Communities, row[community_map_to]),
                    level,
                )
            )
        )
        graph_level_pairs.append((level, graph))
    graph_level_pairs_column.append(graph_level_pairs)

output_df[to] = graph_level_pairs_column

# explode the list of (level, graph) pairs into separate rows
output_df = output_df.explode(to, ignore_index=True)

graph_level_pairs = output_df[to].tolist()

# 调试输出
log.debug("graph_level_pairs: %s", graph_level_pairs)
log.debug("output_df: %s", output_df)
log.debug("Length of graph_level_pairs: %d", len(graph_level_pairs))
log.debug("Length of output_df: %d", len(output_df))

# 确保数据长度匹配
if len(graph_level_pairs) != len(output_df):
    raise ValueError("Data length mismatch: {} != {}".format(len(graph_level_pairs), len(output_df)))

# 分割(level, graph)对到单独的列
output_df[[level_to, to]] = pd.DataFrame(graph_level_pairs, index=output_df.index)

# 清理社区映射
output_df.drop(columns=[community_map_to], inplace=True)

return TableContainer(table=output_df)

def apply_clustering(
graphml: str, communities: Communities, level=0, seed=0xF001
) -> nx.Graph:
random = Random(seed)  # noqa S311
graph = nx.parse_graphml(graphml)
for community_level, community_id, nodes in communities:
if level == community_level:
for node in nodes:
graph.nodes[node]["cluster"] = community_id
graph.nodes[node]["level"] = level
for node_degree in graph.degree:
    graph.nodes[str(node_degree[0])]["degree"] = int(node_degree[1])

for index, node in enumerate(graph.nodes()):
    graph.nodes[node]["human_readable_id"] = index
    graph.nodes[node]["id"] = str(gen_uuid(random))

for index, edge in enumerate(graph.edges()):
    graph.edges[edge]["id"] = str(gen_uuid(random))
    graph.edges[edge]["human_readable_id"] = index
    graph.edges[edge]["level"] = level
return graph

class GraphCommunityStrategyType(str, Enum):
leiden = "leiden"
def __repr__(self):
    return f'"{self.value}"'

def run_layout(
strategy: dict[str, Any], graphml_or_graph: str | nx.Graph
) -> Communities:
graph = load_graph(graphml_or_graph)
if len(graph.nodes) == 0:
log.warning("Graph has no nodes")
return []
clusters: dict[int, dict[str, list[str]]] = {}
strategy_type = strategy.get("type", GraphCommunityStrategyType.leiden)
match strategy_type:
    case GraphCommunityStrategyType.leiden:
        from .strategies.leiden import run as run_leiden

        clusters = run_leiden(graph, strategy)
    case _:
        msg = f"Unknown clustering strategy {strategy_type}"
        raise ValueError(msg)

results: Communities = []
for level in clusters:
    for cluster_id, nodes in clusters[level].items():
        if not isinstance(level, int) or not isinstance(cluster_id, str) or not isinstance(nodes, list):
            raise ValueError("Invalid data format in clustering results")
        results.append((level, cluster_id, nodes))
return results

same，
{"type": "error", "data": "Error running pipeline!", "stack": "Traceback (most recent call last):\n  File "D:\AppGallery\miniconda\lib\site-packages\graphrag\index\run.py", line 323, in run_pipeline\n    result = await workflow.run(context, callbacks)\n  File "D:\AppGallery\miniconda\lib\site-packages\datashaper\workflow\workflow.py", line 369, in run\n    timing = await self._execute_verb(node, context, callbacks)\n  File "D:\AppGallery\miniconda\lib\site-packages\datashaper\workflow\workflow.py", line 410, in _execute_verb\n    result = node.verb.func(**verb_args)\n  File "D:\AppGallery\miniconda\lib\site-packages\graphrag\index\verbs\graph\clustering\cluster_graph.py", line 102, in cluster_graph\n    output_df[[level_to, to]] = pd.DataFrame(\n  File "D:\AppGallery\miniconda\lib\site-packages\pandas\core\frame.py", line 4299, in setitem\n    self._setitem_array(key, value)\n  File "D:\AppGallery\miniconda\lib\site-packages\pandas\core\frame.py", line 4341, in _setitem_array\n    check_key_length(self.columns, key, value)\n  File "D:\AppGallery\miniconda\lib\site-packages\pandas\core\indexers\utils.py", line 390, in check_key_length\n    raise ValueError("Columns must be same length as key")\nValueError: Columns must be same length as key\n", "source": "Columns must be same length as key", "details": null}
nValueError: Columns must be same length as key\n", "source": "Columns must be same length as key", "details": null}

I also encountered this problem. Eventually, I found out that it was because the encoding format of the.txt file I placed in the Input folder was not UTF-8. After changing the encoding format, there was no such problem anymore.

Thank you for your reply.
After my check the .txt file encoding format is UTF-8, and after running it
again the problem is not solved. But thanks for sharing your experience.
bushnerd @.***> 于2024年8月11日周日 17:22写道：

I also encountered this problem. Eventually, I found out that it was
because the encoding format of the.txt file I placed in the Input folder
was not UTF-8. After changing the encoding format, there was no such
problem anymore.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/graphrag/issues/369#issuecomment-2282691493,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BJQ4AYQ3DNE65M57FWUXBU3ZQ4UNTAVCNFSM6AAAAABKMKSLQGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOBSGY4TCNBZGM
.
You are receiving this because you commented.Message ID:
@.***>

https://github.com/microsoft/graphrag/issues/369#issuecomment-2226840030
@zhoufan1978
May I ask if your issue has been resolved?

No, it has not.
tinaYA524 @.***> 于2024年10月10日周四 10:30写道：

#369 (comment)
https://github.com/microsoft/graphrag/issues/369#issuecomment-2226840030
@zhoufan1978 https://github.com/zhoufan1978
May I ask if your issue has been resolved?
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/graphrag/issues/369#issuecomment-2403806309,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BJQ4AYWOEC5XHPB2JYHYOCDZ2XRD7AVCNFSM6AAAAABKMKSLQGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBTHAYDMMZQHE
.
You are receiving this because you commented.Message ID:
@.***>


Reconstructed Spectrum has negative values

Hi,
first thanks for the nice contribution :)
Could you comment on the fact that the reconstructed Raman spectra contain negative values with your implementation? (Even in you example PNG). In the original paper by Zhao et al. this is not discussed at all (and i first though that their polynomial constitutes a lower bound on the spectrum and thus yields a strictly positive reconstruction) but it seems by construction the algorithm will always produce some negative outputs.
Best
Andy

Hi Andy,
Thank you for the observation. That was something that did not bother me
much, since spectra are often normalized in some way (min-max, auc, etc.)
Therefore I end up with non-negative values for my application.
Best
Edgar
On Jun 28, 2018 5:30 AM, "Andreas"<EMAIL_ADDRESS>wrote:

Hi,
first thanks for the nice contribution :)
Could you comment on the fact that the reconstructed Raman spectra contain
negative values with your implementation? (Even in you example PNG). In the
original paper by Zhao et al. the final fitted polynomial seems to
constitute a lower bound on the raw spectrum, thus yield a strictly
positive Raman signal. (However this seems not explicitly stated in the
manuscript text but is demonstrated in all figures).
Best
Andy
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/guevaracodina/vancouver/issues/1, or mute the thread
https://github.com/notifications/unsubscribe-auth/ALDQ9LwEebPijd7HRSr3BlIHK_t8PknUks5uBLAmgaJpZM4U7I7m
.

Dear @adhusch
A small correction was implemented to avoid negative data points in the Raman spectra.
https://github.com/guevaracodina/vancouver/blob/master/vancouver.m
Thanks for noticing
Edgar


Add RootDevices selector

@zshi-redhat is this work intended to support the VF use case?

@zshi-redhat is this work intended to support the VF use case?

I wasn't intend to support VF use case as we already have the pciAddresses selector.
But looking at the GetPfAddr function, it returns VF pci address when PF doesn't exist, I think it could also work for VFs.

@zshi-redhat is this work intended to support the VF use case?

I wasn't intend to support VF use case as we already have the pciAddresses selector.
But looking at the GetPfAddr function, it returns VF pci address when PF doesn't exist, I think it could also work for VFs.

Apologies - typo from me! I mean the VM use case.

@zshi-redhat is this work intended to support the VF use case?

I wasn't intend to support VF use case as we already have the pciAddresses selector.
But looking at the GetPfAddr function, it returns VF pci address when PF doesn't exist, I think it could also work for VFs.

Apologies - typo from me! I mean the VM use case.

@killianmuldoon this is not intended to support VM case as rootDevices shall be used to specify PF PCI addresses, instead of VF PCI addresses.

Overall im LGTM :)

/LGTM - Thanks Zenghui.


[Feature Request] TimePicker > disable time

Existing Component
Yes
Component Name
TimePicker
Description
Missing one option, the disable time, should works like disabledDate in DatePicker

@flamner you can limit the time range by specifying selectableRange. http://element.eleme.io/#/en-US/component/time-picker#arbitrary-time-picker

@ziyoung Yes, I know, but I tried to make a reservation system, set range from 8:00 to 24:00 and set steps every 30 minutes. So, as you suggested, using selectableRange is too complicated solution to this, so much easier will be add  new option like disabledDate in date picker :/


Layered deployment not reapplied when base deployment changes

I am using a base deployment which deploys a number of containers and configures routes on the edgeHub. Our edges have different types, and to solve that we use layers and target tags.
If I change the base deployment, the layered deployment is dropped and never reapplied, even though I can see it still targets devices:

If I deploy the exact same layer again and just increment the deployment id:

According to the documentation, my base deployment has priority 0 and should be applied to all devices in the dev environment. I then want to apply a layered deployment which also has priority 0 and should be applied on top of my base deployment.
What am I missing? It seems like the purpose of layered deployments is defeated if I cannot change the base without reapplying all layers.
Do I need a "blank" base deployment with only edgeHub and edgeAgent, and then one layered deployment for all my common containers, and then one last additional layer that depends on the type tag?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9c2fa43c-0132-8f96-ab4f-e35292d64888
Version Independent ID: c3041c24-5b96-8ff4-757a-218ad1d34c55
Content: Automatic deployment for device groups - Azure IoT Edge
Content Source: articles/iot-edge/module-deployment-monitoring.md
Service: iot-edge
GitHub Login: @kgremban
Microsoft Alias: kgremban

Hello @jokarl , thanks for the question! We are taking a look into this and will get back to you soon.

@jokarl I am enquiring on this issue. Please stay tuned for further updates.

Hello @jokarl , according to the doc:
"An IoT Edge device can apply one and only one standard automatic deployment, but it can apply multiple layered automatic deployments. Any layered deployments targeting a device must have a higher priority than the automatic deployment for that device."
Therefore, it is not supported that both the standard automatic deployment (what I believe you refer as base deployment) and layered automatic deployment have the same priority 0. Did you try adding a higher priority to the layered automatic deployment?
Thank you

Thank you @asergaz, apparently I'm just bad at reading the documentation.

Thank you @jokarl . Please we are always welcoming enhancements do the doc so that the information there is cristal clear. Feel free to suggest some changes\enhancements to the docs as needed.


Q4 Stuff missing/not working (model 2024) (climate/status/GPS...)

Hi, i started a new thread here on this fork: https://github.com/cyr-ius/hass-audiconnect/issues/86
I sniffed the myAudi app with httptoolkit, and pasted there all the new endpoints, just posting it here, since it needs to be added/changed here also, therefore everyting is in one single thread

Edit: new climatisation state / timer left already added on this integration today

gonna close this one, not needed anymore
ref: https://github.com/audiconnect/audi_connect_ha/issues/450


Twine remember macro

Add support for the Twine remember and forget macro.

Possibly need to add a feature to Raconteur that can mark which variables should be saved between games in order to provide full remember and forget functionality.


docs: fix typo

What kind of change does this PR introduce?
To fix typo in API doc
Did you add tests for your changes?
Yes
If relevant, did you update the documentation?
Yes
Summary

Does this PR introduce a breaking change?
No
Other information

Closed in https://github.com/puppeteer/puppeteer/pull/8211


Adding the store=0 parameter to sniff() in preprocessor to avoid stor…

…ing all received packets in memory

+1


Fix ls -h total size bug

With the -h option, the value should not be translated to block count before converting to a human-readable format.

commit a new pull request in: https://github.com/landley/toybox/pull/510


Edited error message for 'Change the Font Size of an Element' challenge

Improved an error message on challenge from:
"Do not add a class attribute to the second p, without removing it from the first
one."
to:
"Do not add a class attribute to the second p. First p should have a class attribute and it's content should remain red."
Untested on local copy
closes #7546

@morganzellers
You need to test the changes by running the gulp, before submitting.
After manually confirming, test cases need to be run as well with npm test.
Thanks again!

Closing as stale. Feel free to re-open when ready.


BUG - Beckman views have missing data / changed config

Describe the bug
Some of the Beckman robots views have stopped working. We currently have these issues:
[ ] view_heron_hitpicks : last runs not shown; issue to solve
[ ] LIMS_test_plate_status: plate barcode not shown; issue to solve
Also we've been noticed that the new cherrypicking results view has changed from Sanger_UAT_view_v1 to view_heron_hitpicks. We will need to update DART_DB_RESULT_VIEW_NAME in the deployment project when the new view view_heron_hitpicks has been fixed.
[ ] Update DART_DB_RESULT_VIEW_NAME with new view
This ticket is to track the status of these issues in our side.
RT Ticket Number
If applicable
To Reproduce
Steps to reproduce the behaviour:

Go to page '...'
Click on button '...'
See error

Expected behaviour
What was expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

Windows or Mac?
Browser Chrome, Firefox, Safari or other?
Browser version (use 'About' to look up)?

Additional context
Add any other context about the problem here.

Deprecated by https://github.com/sanger/General-Backlog-Items/issues/95


add limit to retrieve method in PipestatManager

It would be nice to have limit method that allows user to specify limit of the rows that have to be selected from the database.
++
retrieve method has incorrect docstring:

Is this still actually an issue? This particular method is for Retrieving a result for a single record.
There are other functions that do allow for retrieving multiple rows select and get_records and they do have limit parameters.

It's not super important, because we can use backend.select. But I would keep this question open

This is solved with PR #101


problem piping the output of a command to an editor from bash

Windows Version: 15063.483
from bash - ubuntu 16.04 - if I try to pipe output of a command to a windows text editor, it just opens the editor without the output of the command. Ex:
$ svn diff -r 2255:2246 file | subl -
it just opens my sublime editor with a new file called -.
If i run the same command using a linux text editor, it works fine. Ex:
$ svn diff -r 2255:2246 file | vi -
this opens vi with the diff in the editor.

In order for this to work subl will need to support the '-' argument the same way vi does.  In your above steps subl an alias to sublime_text.exe?

that is correct. It didn't occur to me that this could be an issue with the editor. I appreciate the quick response

Seems like piping from stdin is a macOS only feature:
http://docs.sublimetext.info/en/latest/command_line/command_line.html#invocations

Reading from standard input only works in OS X.


Revert "Fix missing table name" (and really fix the issue)

Reverts woodpecker-ci/woodpecker#1817
However the tests will fail, likely due to an Xorm bug...
Closes #1821

This is blocking the use of the recently merged k8s backend options (as the upgrade fails). Would be good to get this in :) @6543 @anbraten

only hours ...


Possible Windows Characters in scripts?

Hey!  I had to blow away my previous docker setup and I tried to follow the updated instructions, but I think I found an issue.  For my previous setup, I had cloned the whole github repo and built the container up from source files.  This time I tried to use docker compose to pull the image from the docker HUB.  I also tried doing a docker pull of the image and then running it against my compose file.  Both times, the container fails to boot on my Ubuntu docker host.  Digging into the files, I think the config scripts (boot.sh, etc) have some non-displayable characters in them, likely windows EOL characters.  When I do a docker exec -it   /bin/bash and look at the script files in /tmp, they all have ^M at the end of the line.  This seems to mess with executing during the compose?
Here's a sample of the file from a freshly pulled image in docker hub:
root@093ccd825a39:/tmp# cat -v boot.sh
#!/bin/bash^M
^M
Set up config.inc.php^M
sed -i "s/TCPBRIDGEIP/$TCPBRIDGE_IP/" /var/www/html/config.inc.php^M
sed -i "s/TCPBRIDGEPORT/$TCPBRIDGE_PORT/" /var/www/html/config.inc.php^M
sed -i "s|LOCALURL|$LOCAL_URL|" /var/www/html/config.inc.php^M
sed -i "s|TOKENEMAIL|$TOKEN_EMAIL|" /var/www/html/config.inc.php^M
sed -i "s/TOKENPASSWORD/$TOKEN_PASSWORD/" /var/www/html/config.inc.php^M
sed -i "s/FADEON/$FADE_ON/" /var/www/html/config.inc.php^M
sed -i "s/FADEOFF/$FADE_OFF/" /var/www/html/config.inc.php^M
sed -i "s|TCPTIMEZONE|$TCP_TIMEZONE|" /var/www/html/config.inc.php^M
sed -i "s/TCPLATITUDE/$TCP_LATITUDE/" /var/www/html/config.inc.php^M
sed -i "s/TCPLONGITUDE/$TCP_LONGITUDE/" /var/www/html/config.inc.php^M
sed -i "s/MQTTIP/$MQTT_IP/" /var/www/html/config.inc.php^M
sed -i "s/MQTTPORT/$MQTT_PORT/" /var/www/html/config.inc.php^M
sed -i "s/MQTTUSER/$MQTT_USERNAME/" /var/www/html/config.inc.php^M
sed -i "s/MQTTPASS/$MQTT_PASSWORD/" /var/www/html/config.inc.php^M
sed -i "s|MQTTSubscriber|$MQTT_subscriber|" /var/www/html/config.inc.php^M
sed -i "s|MQTTPublisher|$MQTT_publisher|" /var/www/html/config.inc.php^M
sed -i "s|MQTTPrefix|$MQTT_prefix|" /var/www/html/config.inc.php^M
sed -i "s|MQTTControl|$MQTTcontrol|" /var/www/html/config.inc.php^M
sed -i "s|HADiscovery|$HA_Discovery|" /var/www/html/config.inc.php^M
sed -i "s|HASSTopicID|$HASSTopic_id|" /var/www/html/config.inc.php^M
sed -i "s|HASSOnlineTopic|$HASSOnline|" /var/www/html/config.inc.php^M
^M
#Create Token and logs^M
/var/www/html/setup.sh^M
#Start Apache^M
/usr/sbin/apache2ctl -D FOREGROUND &^M
/tmp/generate_sub.sh &^M
/tmp/run_sub.sh ^M
Any chance you could verify if you're seeing this?  Maybe on a Windows host, this will fly, but on linux its an issue?  If so, could you update the docker hub files to remove the extra EOL characters?
Sorry to make more work.  I really love (and rely on) this project!

Well, that's super weird. I only work on this or any of my other projects in Linux so the presence of CRLF instead of LF makes no sense.  I also only run this in docker on Linux.
I'm on the road, but I'll see if I can rebuild this on my work computer which is of course windows so it may take me a minute to sort out.

Well, I just pulled everything down from GitHub and no Windows EOL characters existed in any files.  But I force-converted them to LF anyway and rebuilt and pushed an image to dockerhub try specifying the version in your compose 1.0.1a instead of latest or 1.0.1 and see if that changes anything

Great thanks for the update


Checking for unlearned profession in order to remove those from the Alt Concentration Panel.

Many of my alts have unlearned profession that were used at the beginning. (For Artisan Acuity grind)
And despite those profession are not there anymore the panel is still showing those as being at max concentration.
It's not very important but when you have a lot of alts it makes the panel even more crowded than it should be.

you can right click and remove such entries from the tracker or do a full resetdb
for scan and more there is this requests #371


git is required in buildstep

It's probably not coming in via ament_cmake_vendor_package as that package supports multiple vcs.

I did a search for >git</ in my ROS 2 source workspace and I only see <buildtool_depend>, not <build_depend>:
$ ag '>git</' src/
src/eclipse-iceoryx/iceoryx/iceoryx_posh/package.xml
14:    <buildtool_depend>git</buildtool_depend>

src/ros2/rosbag2/mcap_vendor/package.xml
13:  <buildtool_depend>git</buildtool_depend>

src/ament/google_benchmark_vendor/package.xml
19:  <buildtool_depend>git</buildtool_depend>

src/eProsima/foonathan_memory_vendor/package.xml
14:  <buildtool_depend>git</buildtool_depend>

So should it be <buildtool_depend> or <build_depend>?

@christophebedard you're right buildtool_depend is the more appropriate one. We should also update the cargo dep to be buildtool_depend. Do you mind opening a PR?

My rationale was: It's used by cargo which is build_depend.
Although I'm not that sure anymore it was cargo which used it.

Actually git should be used by ament_vendor here to clone in zenoh-c. But I think this is transitively satisfied by the python3-vcstool dep defined here.

Actually git should be used by ament_vendor here to clone in zenoh-c. But I think this is transitively satisfied by the python3-vcstool dep defined here.

The thing is, @Timple is right; python3-vcstool has no git dependency:
ubuntu-24.04:~$ sudo apt-cache depends python3-vcstool
python3-vcstool
  Depends: python3-pkg-resources
  Depends: python3-yaml
  Depends: <python3:any>
    python3
  Depends: python3-setuptools
  Conflicts: <python-vcstool>

Ah thanks for the clarification @clalancette.


move trailing function commas proposal to stage 2 (docs)

Waiting on https://github.com/babel/babel/pull/2427.

Added to http://babeljs.io/docs/plugins/preset-stage-2/ since that page was removed


Allow disable (workspace) for conflicted extension

I have installed Platform.io and Arduino extensions and one (arduino) results confilcting with Platform.io

however I need Arduino extension to work with other projects and would two extensions in the same vscode installation. In order to do that actually I go to extension, filter for the one conflicting, then disable in the workspace:
It would helpful if a disable (workspace) button could be added to that dialog as an alternative to uninstalling conflicting extension.

/causedByExtension that dialog comes from Platform.io (see bottom left corner)